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 相关文章推荐
Django中实现一个高性能计数器(Counter)实例
Jul 09 Python
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
Nov 18 Python
探索Python3.4中新引入的asyncio模块
Apr 08 Python
在Python的Flask框架下收发电子邮件的教程
Apr 21 Python
numpy中以文本的方式存储以及读取数据方法
Jun 04 Python
使用Py2Exe for Python3创建自己的exe程序示例
Oct 31 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
Jun 13 Python
Python虚拟环境的原理及使用详解
Jul 02 Python
Python编写通讯录通过数据库存储实现模糊查询功能
Jul 18 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
Dec 19 Python
python实现将列表中各个值快速赋值给多个变量
Apr 02 Python
梳理总结Python开发中需要摒弃的18个坏习惯
Jan 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
PHP通用检测函数集合
2011/02/08 PHP
求PHP数组最大值,最小值的代码
2011/10/31 PHP
php中调用其他系统http接口的方法说明
2014/02/28 PHP
PHP 极验验证码实例讲解
2016/09/29 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
2013/04/26 Javascript
javascript实现checkBox的全选,反选与赋值
2015/03/12 Javascript
详解ES6中的let命令
2020/04/05 Javascript
浅谈键盘上回车按钮的js触发事件
2017/02/13 Javascript
BootStrap入门学习第一篇
2017/08/28 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
vue.js element-ui tree树形控件改iview的方法
2018/03/29 Javascript
vue下history模式刷新后404错误解决方法
2018/08/18 Javascript
Vue实战教程之仿肯德基宅急送App
2019/07/19 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
2020/02/09 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
2020/03/24 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
[45:50]完美世界DOTA2联赛PWL S3 CPG vs Forest 第二场 12.16
2020/12/17 DOTA
Python如何实现文本转语音
2016/08/08 Python
解决python "No module named pip" 的问题
2018/10/13 Python
Django stark组件使用及原理详解
2019/08/22 Python
python 消费 kafka 数据教程
2019/12/21 Python
浅析Django中关于session的使用
2019/12/30 Python
Python3合并两个有序数组代码实例
2020/08/11 Python
鲜为人知的HTML5语音合成功能
2019/05/17 HTML / CSS
美国专注于健康商品的网站:eVitamins
2017/01/23 全球购物
Schutz鞋官方网站:Schutz Shoes
2017/12/13 全球购物
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
自荐信结尾
2013/10/27 职场文书
电子商务专业求职信
2014/03/08 职场文书
租房协议书样本
2014/08/20 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
2014年教务工作总结
2014/12/03 职场文书
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android