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 获取 Linux 系统信息的代码
Jul 13 Python
Python pickle类库介绍(对象序列化和反序列化)
Nov 21 Python
从头学Python之编写可执行的.py文件
Nov 28 Python
Python调用C语言的方法【基于ctypes模块】
Jan 22 Python
python实现一个简单的并查集的示例代码
Mar 19 Python
python如何求解两数的最大公约数
Sep 27 Python
对Python3 序列解包详解
Feb 16 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
Jun 28 Python
python实现的按要求生成手机号功能示例
Oct 08 Python
Python银行系统实战源码
Oct 25 Python
python 使用pygame工具包实现贪吃蛇游戏(多彩版)
Oct 30 Python
Python中生成ndarray实例讲解
Feb 22 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/01 无线电
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
PHP基于cookie实现统计在线人数功能示例
2019/01/16 PHP
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
jQuery(非HTML5)可编辑表格实现代码
2012/12/11 Javascript
javascript删除option选项的多种方法总结
2013/11/22 Javascript
javascript实现跨域的方法汇总
2015/06/25 Javascript
你所未知的3种Node.js代码优化方式
2016/02/25 Javascript
json传值以及ajax接收详解
2016/05/24 Javascript
javascript闭包概念简单解析(推荐)
2016/06/03 Javascript
深入理解JS实现快速排序和去重
2016/10/17 Javascript
ES6新增数据结构WeakSet的用法详解
2017/08/07 Javascript
js对象数组和对象的使用实例详解
2019/08/27 Javascript
javascript随机变色实例代码
2019/10/15 Javascript
vue中路由跳转不计入history的操作
2020/09/21 Javascript
[45:32]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
2016/08/30 Python
Python 模拟购物车的实例讲解
2017/09/11 Python
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
python制作朋友圈九宫格图片
2019/11/03 Python
python爬虫爬取监控教务系统的思路详解
2020/01/08 Python
python GUI库图形界面开发之PyQt5多线程中信号与槽的详细使用方法与实例
2020/03/08 Python
详解Python设计模式之策略模式
2020/06/15 Python
python 两种方法修改文件的创建时间、修改时间、访问时间
2020/09/26 Python
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
澳大利亚婴儿礼品公司:The Baby Gift Company
2018/11/04 全球购物
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
广州地球村科技数据库题目
2016/04/25 面试题
餐厅销售主管职责范本
2014/02/19 职场文书
竞选演讲稿范文大全
2014/05/12 职场文书
专业技术人员年度考核评语
2014/12/31 职场文书
高考满分作文赏析(2篇)
2019/08/12 职场文书
Python time库的时间时钟处理
2021/05/02 Python
介绍一下28个JS常用数组方法
2022/05/06 Javascript