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备份文件以及mysql数据库的脚本代码
Jun 10 Python
python实现类的静态变量用法实例
May 08 Python
Python的math模块中的常用数学函数整理
Feb 04 Python
matplotlib作图添加表格实例代码
Jan 23 Python
Python设计模式之建造者模式实例详解
Jan 17 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
Jun 21 Python
python读取大文件越来越慢的原因与解决
Aug 08 Python
Python对接支付宝支付自实现功能
Oct 10 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
Feb 12 Python
Django解决frame拒绝问题的方法
Dec 18 Python
Python使用BeautifulSoup4修改网页内容
May 20 Python
Python软件包安装的三种常见方法
Jul 07 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
初学CAKEPHP 基础教程
2009/11/02 PHP
一步一步学习PHP(5) 类和对象
2010/02/16 PHP
PHP 异步执行方法,模拟多线程的应用分析
2013/06/03 PHP
Yii2 rbac权限控制操作步骤实例教程
2016/04/29 PHP
php中访问修饰符的知识点总结
2019/01/27 PHP
Mac下快速搭建PHP开发环境步骤详解
2019/05/05 PHP
js 静态动态成员 and 信息的封装和隐藏
2011/05/29 Javascript
javascript面向对象入门基础详细介绍
2012/09/05 Javascript
Js控制弹窗实现在任意分辨率下居中显示
2013/08/01 Javascript
jquery按回车提交数据的代码示例
2013/11/05 Javascript
js实现格式化金额,字符,时间的方法
2015/02/26 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
2020/12/31 Javascript
js判断一个字符串是以某个字符串开头的简单实例
2016/12/27 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
JavaScript对象_动力节点Java学院整理
2017/06/23 Javascript
get  post jsonp三种数据交互形式实例详解
2017/08/25 Javascript
js判断数组是否包含某个字符串变量的实例
2017/11/24 Javascript
Angular数据绑定机制原理
2018/04/17 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
2019/02/18 Javascript
jquery将json转为数据字典的实例代码
2019/10/11 jQuery
python实现决策树ID3算法的示例代码
2018/05/30 Python
python实现全盘扫描搜索功能的方法
2019/02/14 Python
详解10个可以快速用Python进行数据分析的小技巧
2019/06/24 Python
Python学习笔记之Django创建第一个数据库模型的方法
2019/08/07 Python
python中rc1什么意思
2020/06/19 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
高分子材料与工程专业推荐信
2013/12/01 职场文书
计算机维护专业推荐信
2014/02/27 职场文书
小摄影师教学反思
2014/04/27 职场文书
房屋租房协议书范本
2014/12/04 职场文书
2015年基建工作总结范文
2015/05/23 职场文书
微信小程序和php的登录实现
2021/04/01 PHP
sql server偶发出现死锁的解决方法
2022/04/10 SQL Server