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中用Decorator来简化元编程的教程
Apr 13 Python
Python EOL while scanning string literal问题解决方法
Sep 18 Python
TF-IDF算法解析与Python实现方法详解
Nov 16 Python
Python机器学习logistic回归代码解析
Jan 17 Python
Python基于多线程实现抓取数据存入数据库的方法
Jun 22 Python
浅谈python下tiff图像的读取和保存方法
Dec 04 Python
python使用udp实现聊天器功能
Dec 10 Python
Python3利用print输出带颜色的彩色字体示例代码
Apr 08 Python
详解如何用TensorFlow训练和识别/分类自定义图片
Aug 05 Python
利用Python绘制有趣的万圣节南瓜怪效果
Oct 31 Python
基于Python中random.sample()的替代方案
May 23 Python
Python pymysql模块安装并操作过程解析
Oct 13 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
第十四节--命名空间
2006/11/16 PHP
关于PHP语言构造器介绍
2013/07/08 PHP
PHP中is_file不能替代file_exists的理由
2014/03/04 PHP
Chrome Web App开发小结
2014/09/04 PHP
js活用事件触发对象动作
2008/08/10 Javascript
window.onresize 多次触发的解决方法
2013/11/08 Javascript
js 弹出框只弹一次(二次修改之后的)
2013/11/26 Javascript
node.js中的fs.fsyncSync方法使用说明
2014/12/15 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
浅谈JavaScript 浏览器对象
2016/06/03 Javascript
javascript实现根据汉字获取简拼
2016/09/25 Javascript
VueJS全面解析
2016/11/10 Javascript
JavaScript数据结构之链表的实现
2017/03/19 Javascript
Angular2使用Guard和Resolve进行验证和权限控制
2017/04/24 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
基于VUE实现的九宫格抽奖功能
2018/09/30 Javascript
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
2019/01/21 Javascript
vue 解决文本框被键盘遮住的问题
2019/11/06 Javascript
Python中用PIL库批量给图片加上序号的教程
2015/05/06 Python
python中如何使用朴素贝叶斯算法
2017/04/06 Python
一文带你了解Python中的字符串是什么
2018/11/20 Python
python构建基础的爬虫教学
2018/12/23 Python
使用Django和Postgres进行全文搜索的实例代码
2020/02/13 Python
Python安装OpenCV的示例代码
2020/03/05 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
详解python爬取弹幕与数据分析
2020/11/14 Python
美国家喻户晓的保健品品牌:Vitamin World(维他命世界)
2016/08/19 全球购物
领导班子专题民主生活会情况想汇报
2014/09/30 职场文书
2014年实习生工作总结
2014/11/27 职场文书
给领导敬酒词
2015/08/12 职场文书
《卖火柴的小女孩》教学反思
2016/02/19 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
2022/04/11 Python