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兔子毒药问题实例分析
Mar 05 Python
Python中处理字符串之islower()方法的使用简介
May 19 Python
Python中使用Queue和Condition进行线程同步的方法
Jan 19 Python
Python 多线程不加锁分块读取文件的方法
Dec 11 Python
在PyCharm下使用 ipython 交互式编程的方法
Jan 17 Python
Python中的异常处理try/except/finally/raise用法分析
Feb 28 Python
PyTorch中Tensor的维度变换实现
Aug 18 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
python标准库sys和OS的函数使用方法与实例详解
Feb 12 Python
django 扩展user用户字段inlines方式
Mar 30 Python
Python数据可视化实现漏斗图过程图解
Jul 20 Python
python源文件的字符编码知识点详解
Mar 04 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跳转页面的几种实现方法详解
2013/06/08 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
php采集自中央气象台范围覆盖全国的天气预报代码实例
2015/01/04 PHP
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
2018/05/25 PHP
PHP的mysqli_ssl_set()函数讲解
2019/01/23 PHP
JavaScript入门教程(6) Window窗口对象
2009/01/31 Javascript
jQuery中与toggleClass等价的程序段 以及未来学习的方向
2010/03/18 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
2013/11/06 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
2014/06/20 Javascript
网页运行时提示对象不支持abigimage属性或方法
2014/08/10 Javascript
JavaScript对象之深度克隆介绍
2014/12/08 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
jQuery+PHP实现微信转盘抽奖功能的方法
2016/05/25 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
小程序实现授权登陆的解决方案
2018/12/02 Javascript
jQuery无冲突模式详解
2019/01/17 jQuery
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
详解Vue3中对VDOM的改进
2020/04/23 Javascript
django轻松使用富文本编辑器CKEditor的方法
2017/03/30 Python
解决python ogr shp字段写入中文乱码的问题
2018/12/31 Python
python读取csv和txt数据转换成向量的实例
2019/02/12 Python
10行Python代码计算汽车数量的实现方法
2019/10/23 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
CSS3 @keyframes简单动画实现
2018/02/24 HTML / CSS
会计与审计毕业生自荐信范文
2013/12/30 职场文书
工作评语大全
2014/04/26 职场文书
2014第二批党的群众路线教育实践活动对照检查材料思想汇报
2014/09/18 职场文书
2015试用期转正工作总结
2014/12/12 职场文书
闪闪的红星观后感
2015/06/08 职场文书
公司周年庆寄语
2019/06/21 职场文书
女性励志书籍推荐
2019/08/19 职场文书
如何理解Vue前后端数据交互与显示
2021/05/10 Vue.js