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 08 Python
简单文件操作python 修改文件指定行的方法
May 15 Python
Python实现远程调用MetaSploit的方法
Aug 22 Python
Python中几个比较常见的名词解释
Jul 04 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
Mar 02 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
Jul 11 Python
Python子类继承父类构造函数详解
Feb 19 Python
浅谈python标准库--functools.partial
Mar 13 Python
Python实现socket非阻塞通讯功能示例
Nov 06 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
Dec 09 Python
Python实现的北京积分落户数据分析示例
Mar 27 Python
Pytest中skip skipif跳过用例详解
Jun 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
php addslashes和mysql_real_escape_string
2010/01/24 PHP
jQuery使用手册之一
2007/03/24 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
JQuery做的一个简单的点灯游戏分享
2014/07/16 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
深入理解JavaScript内置函数
2016/06/03 Javascript
详解Angular开发中的登陆与身份验证
2016/07/27 Javascript
AngularJS中一般函数参数传递用法分析
2016/11/22 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
JavaScript中数组的各种操作的总结(必看篇)
2017/02/13 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
2017/08/17 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
2019/10/15 Javascript
ElementUI中el-tree节点的操作的实现
2020/02/27 Javascript
[57:55]EG vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python3实现发送QQ邮件功能(文本)
2017/12/15 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
Python设计模式之命令模式简单示例
2018/01/10 Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
2018/03/15 Python
win7+Python3.5下scrapy的安装方法
2018/07/31 Python
python 将列表中的字符串连接成一个长路径的方法
2018/10/23 Python
python实现手机销售管理系统
2019/03/19 Python
Python assert关键字原理及实例解析
2019/12/13 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
HTML5 script元素async、defer异步加载使用介绍
2013/08/23 HTML / CSS
卫生安全检查制度
2014/02/04 职场文书
诉讼代理人授权委托书
2014/04/08 职场文书
机关会计岗位职责
2014/04/08 职场文书
投资合作协议书
2014/04/17 职场文书
开展读书活动总结
2014/06/30 职场文书
竞选班长演讲稿400字
2014/08/22 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
先进班集体事迹材料
2014/12/25 职场文书
2015幼儿园新学期寄语
2015/02/27 职场文书
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫