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开发的单词频率统计工具wordsworth使用方法
Jun 25 Python
python3使用requests模块爬取页面内容的实战演练
Sep 25 Python
python  创建一个保留重复值的列表的补码
Oct 15 Python
python判断输入日期为第几天的实例
Nov 13 Python
解决新django中的path不能使用正则表达式的问题
Dec 18 Python
Django组件cookie与session的具体使用
Jun 05 Python
Python爬取知乎图片代码实现解析
Sep 17 Python
python科学计算之scipy——optimize用法
Nov 25 Python
在PyCharm中实现添加快捷模块
Feb 12 Python
Python异常原理及异常捕捉实现过程解析
Mar 25 Python
Python ORM框架Peewee用法详解
Apr 29 Python
python解压zip包中文乱码解决方法
Nov 27 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
造就帕卡马拉的帕卡斯是怎么被发现的
2021/03/03 咖啡文化
PHP脚本数据库功能详解(下)
2006/10/09 PHP
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
php分页示例分享
2014/04/30 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
php通过排列组合实现1到9数字相加都等于20的方法
2015/08/03 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
2018/03/31 PHP
PHP字符串中抽取子串操作实例分析
2019/06/22 PHP
学习ExtJS TextField常用方法
2009/10/07 Javascript
Javascript读取cookie函数代码
2010/10/16 Javascript
Jquery中children与find之间的区别详细解析
2013/11/29 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
javascript基本算法汇总
2016/03/09 Javascript
jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】
2016/07/19 Javascript
ReactNative页面跳转实例代码
2016/09/27 Javascript
JS实现的RGB网页颜色在线取色器完整实例
2016/12/21 Javascript
Vue中的数据监听和数据交互案例解析
2017/07/12 Javascript
微信小程序缓存支持二次开发封装实现解析
2019/12/16 Javascript
Javascript ParentNode和ChildNode接口原理解析
2020/03/16 Javascript
[38:21]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS LGD-CDEC
2014/05/22 DOTA
[01:01:52]完美世界DOTA2联赛PWL S2 GXR vs Magma 第二场 11.25
2020/11/26 DOTA
详解python多线程、锁、event事件机制的简单使用
2018/04/27 Python
Python寻找两个有序数组的中位数实例详解
2018/12/05 Python
Python PO设计模式的具体使用
2019/08/16 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
Python小程序之在图片上加入数字的代码
2019/11/26 Python
python代码区分大小写吗
2020/06/17 Python
python3获取控制台输入的数据的具体实例
2020/08/16 Python
让IE下支持Html5的placeholder属性的插件
2014/09/02 HTML / CSS
迪拜航空官方网站:flydubai
2017/04/20 全球购物
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/11/24 面试题
路政管理专业个人自荐信范文
2013/11/30 职场文书
小小商店教学反思
2014/04/27 职场文书
2016年教师党员创先争优承诺书
2016/03/24 职场文书
正能量励志演讲稿三分钟(范文)
2019/07/11 职场文书
详解Spring事件发布与监听机制
2021/06/30 Java/Android