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标准库内置函数complex介绍
Nov 25 Python
python检查指定文件是否存在的方法
Jul 06 Python
详解Python3中的Sequence type的使用
Aug 01 Python
在Ubuntu系统下安装使用Python的GUI工具wxPython
Feb 18 Python
浅谈django开发者模式中的autoreload是如何实现的
Aug 18 Python
Python基于回溯法子集树模板解决找零问题示例
Sep 11 Python
使用python实现knn算法
Dec 20 Python
python+pyqt5实现图片批量缩放工具
Mar 18 Python
对Python中小整数对象池和大整数对象池的使用详解
Jul 09 Python
python实现在多维数组中挑选符合条件的全部元素
Nov 26 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
Nov 17 Python
使用django自带的user做外键的方法
Nov 30 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
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
对PHP新手的一些建议(PHP学习经验总结)
2014/08/20 PHP
php字符串过滤与替换小结
2015/01/26 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
2019/07/26 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
2020/03/18 PHP
mailto的使用技巧分享
2012/12/21 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
2014/10/16 Javascript
jquery使用正则表达式验证email地址的方法
2015/01/22 Javascript
jQuery获得子元素个数的方法
2015/04/14 Javascript
如何利用模板将HTML从JavaScript中抽离
2016/10/08 Javascript
基于javascript的Form表单验证
2016/12/29 Javascript
vue中mint-ui环境搭建详细介绍
2017/04/06 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
BootStrap中的模态框(modal,弹出层)功能示例代码
2018/11/02 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
python使用arcpy.mapping模块批量出图
2017/03/06 Python
Python微信公众号开发平台
2018/01/25 Python
使用python生成目录树
2018/03/29 Python
Python安装lz4-0.10.1遇到的坑
2018/05/20 Python
python基于三阶贝塞尔曲线的数据平滑算法
2019/12/27 Python
Python属性和内建属性实例解析
2020/01/14 Python
如何使用python传入不确定个数参数
2020/02/18 Python
Geekbuying波兰:购买中国电子产品
2019/10/20 全球购物
Michael Kors英国官网:美国奢侈品品牌
2019/11/13 全球购物
params有什么用
2016/03/01 面试题
物业管理公司实习生自我鉴定
2013/09/19 职场文书
农业大学毕业生的个人自我评价
2013/10/11 职场文书
自荐信要包含哪些内容
2013/11/06 职场文书
总监职责范文
2013/11/09 职场文书
《猴子种树》教学反思
2014/02/14 职场文书
主题教育活动总结
2014/05/05 职场文书
小学生放飞梦想演讲稿
2014/08/26 职场文书
抢劫罪辩护词
2015/05/21 职场文书
党支部评议意见
2015/06/02 职场文书