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中处理字符串之isdecimal()方法的使用
May 20 Python
python 爬取微信文章
Jan 30 Python
Python实现快速排序算法及去重的快速排序的简单示例
Jun 26 Python
python基于twisted框架编写简单聊天室
Jan 02 Python
python2.7实现FTP文件下载功能
Apr 15 Python
对python 自定义协议的方法详解
Feb 13 Python
在VS2017中用C#调用python脚本的实现
Jul 31 Python
Django中使用CORS实现跨域请求过程解析
Aug 05 Python
Python猴子补丁知识点总结
Jan 05 Python
Pytorch maxpool的ceil_mode用法
Feb 18 Python
python selenium xpath定位操作
Sep 01 Python
总结Python变量的相关知识
Jun 28 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原理之异常机制深入分析
2010/08/08 PHP
详解php中 === 的使用
2016/10/24 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
Javascript的一种模块模式
2008/03/22 Javascript
JS array 数组详解
2009/03/22 Javascript
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
javascript学习笔记(六)数据类型和JSON格式
2014/10/08 Javascript
jquery简单图片切换显示效果实现方法
2015/01/14 Javascript
JavaScript中操作Mysql数据库实例
2015/04/02 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
jQuery.datatables.js插件用法及api实例详解
2016/10/28 Javascript
实现单层json按照key字母顺序排序的示例
2017/12/06 Javascript
详解JavaScript添加给定的标签选项
2018/09/17 Javascript
浅谈关于iview表单验证的问题
2018/09/29 Javascript
使用watch在微信小程序中实现全局状态共享
2019/06/03 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
js实现简单抽奖功能
2020/11/24 Javascript
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
2016/08/30 Python
Python利用BeautifulSoup解析Html的方法示例
2017/07/30 Python
Selenium 模拟浏览器动态加载页面的实现方法
2018/05/16 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
2018/09/04 Python
Linux下python3.6.1环境配置教程
2018/09/26 Python
Python安装及Pycharm安装使用教程图解
2019/09/20 Python
python 浅谈serial与stm32通信的编码问题
2019/12/18 Python
Django用户身份验证完成示例代码
2020/04/03 Python
使用python实现CGI环境搭建过程解析
2020/04/28 Python
演讲比赛获奖感言
2014/02/02 职场文书
大四毕业生自荐书
2014/07/05 职场文书
未婚证明书模板
2014/10/08 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
人事局接收函
2015/01/31 职场文书
道士塔读书笔记
2015/06/30 职场文书
《桂花雨》教学反思
2016/02/19 职场文书
css3实现的加载动画效果
2021/04/07 HTML / CSS
纯html+css实现打字效果
2021/08/02 HTML / CSS