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类装饰器用法实例
Jun 04 Python
python和shell监控linux服务器的详细代码
Jun 22 Python
python中多层嵌套列表的拆分方法
Jul 02 Python
python操作excel的方法
Aug 16 Python
Python求离散序列导数的示例
Jul 10 Python
python requests指定出口ip的例子
Jul 25 Python
python使用ctypes调用扩展模块的实例方法
Jan 28 Python
通过python检测字符串的字母
Feb 18 Python
在服务器上安装python3.8.2环境的教程详解
Apr 26 Python
python库skimage给灰度图像染色的方法示例
Apr 27 Python
Python如何识别银行卡卡号?
Jun 10 Python
Python绘制散点图之可视化神器pyecharts
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
php 文件上传实例代码
2012/04/19 PHP
php解析url的三个示例
2014/01/20 PHP
php中get_defined_constants函数用法实例分析
2015/05/12 PHP
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
php图片裁剪函数
2018/10/31 PHP
实例讲解PHP表单处理
2019/02/15 PHP
使用JS操作页面表格,元素的一些技巧
2007/02/02 Javascript
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
JavaScript单元测试ABC
2012/04/12 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
setTimeout内不支持jquery的选择器的解决方案
2015/04/28 Javascript
jquery中$each()方法的使用指南
2015/04/30 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
2016/05/03 Javascript
详解JavaScript树结构
2017/01/09 Javascript
微信小程序实现点击图片放大预览
2019/10/21 Javascript
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
Python切片用法实例教程
2014/09/08 Python
python中的__slots__使用示例
2015/02/26 Python
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
Python发送邮件功能示例【使用QQ邮箱】
2018/12/04 Python
django query模块
2019/04/20 Python
如何分离django中的媒体、静态文件和网页
2019/11/12 Python
Html5调用手机摄像头并实现人脸识别的实现
2018/12/21 HTML / CSS
美国著名的婴儿学步鞋老品牌:Robeez
2016/08/20 全球购物
迪卡侬印尼体育用品商店:Decathlon印尼
2020/03/11 全球购物
internal修饰符起什么作用
2013/12/16 面试题
艺术学院毕业生求职信
2014/07/09 职场文书
小学生迎国庆演讲稿
2014/09/05 职场文书
优秀教师主要事迹材料
2015/11/04 职场文书
房屋买卖定金协议书
2016/03/21 职场文书
Django一小时写出账号密码管理系统
2021/04/29 Python
PyMongo 查询数据的实现
2021/06/28 Python
Mysql数据库中datetime、bigint、timestamp来表示时间选择,谁来存储时间效率最高
2021/08/23 MySQL
Redis 的查询很快的原因解析及Redis 如何保证查询的高效
2022/03/16 Redis