Django ManyToManyField 跨越中间表查询的方法


Posted in Python onDecember 18, 2018

1、在 django 表中用到了 manytomany 生成了中间表 pyclub_article_column

from django.db import models

# Create your models here.

class Column(models.Model):
 id = models.AutoField(u'序号',primary_key=True,auto_created=True)
 name = models.CharField(u'名字',max_length=100)
 published = models.DateField(u'发布时间',auto_now_add=True)

 def __str__(self):
 return self.name

 class Meta:
 verbose_name = '栏目'
 verbose_name_plural = '栏目列表'
 ordering = ['id'] # 按照哪个栏目排序

class Article(models.Model):
 id = models.AutoField(u'序号',primary_key=True,auto_created=True)
 title = models.CharField(u'标题',max_length=100,default='')
 content = models.TextField(u'内容',default='')
 column = models.ManyToManyField(Column,verbose_name='归属栏目')
 published = models.DateField(u'发布时间',auto_now_add=True,null=True)

 def __str__(self):
 return self.title

 class Meta:
 verbose_name = '文章'
 verbose_name_plural = '文章列表'
 ordering = ['id'] # 按照哪个文章排序

2、生成了中间表 pyclub_article_column

+-----+------------+-----------+
| id | article_id | column_id |
+-----+------------+-----------+
| 370 | 411 | 146 |
| 371 | 412 | 146 |
| 372 | 413 | 165 |
| 373 | 414 | 158 |
| 374 | 415 | 151 |

3、我想通过column_id 获得 对应栏目列表中的所有数据列表,原先一直在怎么使用中间表这个问题上,一直搞不会,现在明白了,原来 结果集 column本身也可以作对象,那么,问题简单了

list_info = Article.objects.filter(column=id)

虽然article表中,没有column,但在django model.py通过many to many 已经建立起了对应关系,所以在view.py中,通过article objects时,可以直接使用filter进行类别查询。

以上这篇Django ManyToManyField 跨越中间表查询的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python调用命令行进度条的方法
May 05 Python
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
May 06 Python
浅谈numpy中linspace的用法 (等差数列创建函数)
Jun 07 Python
Python字符串格式化%s%d%f详解
Feb 02 Python
pandas值替换方法
Jul 10 Python
解决项目pycharm能运行,在终端却无法运行的问题
Jan 19 Python
解决python文件双击运行秒退的问题
Jun 24 Python
python的launcher用法知识点总结
Aug 07 Python
python 实现的IP 存活扫描脚本
Dec 10 Python
解决PyCharm无法使用lxml库的问题(图解)
Dec 22 Python
Python爬虫UA伪装爬取的实例讲解
Feb 19 Python
python利用后缀表达式实现计算器功能
Feb 22 Python
Python列表list排列组合操作示例
Dec 18 #Python
python实现二维插值的三维显示
Dec 17 #Python
Python实现分段线性插值
Dec 17 #Python
Python 获取主机ip与hostname的方法
Dec 17 #Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
Dec 17 #Python
python样条插值的实现代码
Dec 17 #Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
Dec 17 #Python
You might like
关于php程序报date()警告的处理(date_default_timezone_set)
2013/10/22 PHP
php中实现xml与mysql数据相互转换的方法
2014/12/25 PHP
PHP从FLV文件获取视频预览图的方法
2015/03/12 PHP
Laravel框架实现发送短信验证功能代码
2016/06/06 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
php文件包含的几种方式总结
2019/09/19 PHP
js截取函数(indexOf,join等)
2010/09/01 Javascript
收集的10个免费的jQuery相册
2011/02/26 Javascript
用js获取电脑信息(是使用与IE浏览器)
2013/01/15 Javascript
浏览器的JavaScript引擎的识别方法
2013/10/20 Javascript
javascript面向对象之对象的深入理解
2015/01/13 Javascript
基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作
2016/08/29 Javascript
js微信分享实现代码
2020/10/11 Javascript
Vue.js 事件修饰符的使用教程
2018/11/01 Javascript
element-ui组件table实现自定义筛选功能的示例代码
2019/03/15 Javascript
JS面向对象编程实现的Tab选项卡案例详解
2020/03/03 Javascript
vue移动端的左右滑动事件详解
2020/06/17 Javascript
使用原生javascript开发计算器实例代码
2021/02/21 Javascript
介绍Python中的fabs()方法的使用
2015/05/14 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
QML实现钟表效果
2020/06/02 Python
python smtplib发送多个email联系人的实现
2020/10/09 Python
利用css3 translate完美实现表头固定效果
2017/02/28 HTML / CSS
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
Expedia泰国:预订机票、酒店和旅游包(航班+酒店)
2016/09/27 全球购物
Omio俄罗斯:一次搜索公共汽车、火车和飞机的机票
2018/11/17 全球购物
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
写给女生的道歉信
2014/01/08 职场文书
师范生自我鉴定
2014/03/20 职场文书
小学教师暑期培训方案
2014/08/28 职场文书
2014年度个人工作总结范文
2015/03/09 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
2019年浪漫婚礼证婚词
2019/06/27 职场文书
oracle覆盖导入dmp文件的2种方法
2021/05/21 Oracle
十大最强火系宝可梦,喷火龙上榜,第一名有双火属性
2022/03/18 日漫