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 相关文章推荐
Python3实现连接SQLite数据库的方法
Aug 23 Python
Python素数检测实例分析
Jun 15 Python
python定时利用QQ邮件发送天气预报的实例
Nov 17 Python
详解python中的线程
Feb 10 Python
python生成tensorflow输入输出的图像格式的方法
Feb 12 Python
pandas把dataframe转成Series,改变列中值的类型方法
Apr 10 Python
TensorFlow实现非线性支持向量机的实现方法
Apr 28 Python
python利用跳板机ssh远程连接redis的方法
Feb 19 Python
Python动态语言与鸭子类型详解
Jul 01 Python
elasticsearch python 查询的两种方法
Aug 04 Python
python并发编程多进程 模拟抢票实现过程
Aug 20 Python
给 TensorFlow 变量进行赋值的方式
Feb 10 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
pdo中使用参数化查询sql
2011/08/11 PHP
php对大文件进行读取操作的实现代码
2013/01/23 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
Laravel 简单实现Ajax滚动加载示例
2019/10/22 PHP
js的写法基础分析
2011/01/17 Javascript
Yii-自定义删除确认弹框(zyd)jquery实现代码
2013/03/04 Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
2013/05/03 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
2014/08/16 Javascript
EasyUI实现第二层弹出框的方法
2015/03/01 Javascript
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
2015/03/13 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
深入理解JavaScript中的对象
2015/06/04 Javascript
NodeJS连接MongoDB数据库时报错的快速解决方法
2016/05/13 NodeJs
js禁止浏览器页面后退功能的实例(推荐)
2017/09/01 Javascript
bootstrap中日历范围选择插件daterangepicker的使用详解
2018/04/17 Javascript
微信网页授权并获取用户信息的方法
2018/07/30 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
2018/09/05 Javascript
[10:14]2018DOTA2国际邀请赛寻真——paiN Gaming不仅为自己而战
2018/08/14 DOTA
[01:07:13]TNC vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python 文件操作实现代码
2009/10/07 Python
Python使用代理抓取网站图片(多线程)
2014/03/14 Python
Python实现模拟分割大文件及多线程处理的方法
2017/10/10 Python
python 2.7 检测一个网页是否能正常访问的方法
2018/12/26 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
PyQt5 控件字体样式等设置的实现
2020/05/13 Python
俄罗斯皮肤健康中心:Pharmacosmetica.ru
2020/02/22 全球购物
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
学校就业推荐信范文
2014/05/19 职场文书
大二学生学年自我鉴定
2014/09/12 职场文书
“三支一扶”支教教师思想汇报
2014/09/13 职场文书
纪念九一八事变演讲稿:勿忘国耻
2014/09/14 职场文书
上诉答辩状范文
2015/05/22 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
java基础——多线程
2021/07/03 Java/Android
德生TECSUN S-2000使用手册文字版
2022/05/10 无线电