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之深入变量和引用对象
Sep 24 Python
Python中用于计算对数的log()方法
May 15 Python
对numpy中数组元素的统一赋值实例
Apr 04 Python
python DataFrame 取差集实例
Jan 30 Python
使用python3构建文件传输的方法
Feb 13 Python
获取Pytorch中间某一层权重或者特征的例子
Aug 17 Python
python中从for循环延申到推导式的具体使用
Nov 29 Python
python使用隐式循环快速求和的实现示例
Sep 11 Python
python 统计代码耗时的几种方法分享
Apr 02 Python
Django一小时写出账号密码管理系统
Apr 29 Python
pycharm 如何查看某一函数源码的快捷键
May 12 Python
Python正则表达式中flags参数的实例详解
Apr 01 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 抓取新浪读书频道的小说并生成txt电子书的代码
2009/12/18 PHP
php中socket的用法详解
2014/10/24 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
php表单提交与$_POST实例分析
2015/01/26 PHP
教大家制作简单的php日历
2015/11/17 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
PHP一致性hash分布式算法封装类定义与用法示例
2018/08/04 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
2011/12/31 Javascript
JavaScript在XHTML中的用法详解
2013/04/11 Javascript
JS方法调用括号的问题探讨
2014/01/24 Javascript
jquery队列函数用法实例
2014/12/16 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
2014/12/29 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
2015/08/07 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
分享几种比较简单实用的JavaScript tabel切换
2015/12/31 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
2016/05/17 Javascript
用ES6写全屏滚动插件的示例代码
2018/05/02 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
vue读取本地的excel文件并显示在网页上方法示例
2019/05/29 Javascript
如何优雅地在Node应用中进行错误异常处理
2019/11/25 Javascript
python tkinter实现彩球碰撞屏保
2019/07/30 Python
Python字典常见操作实例小结【定义、添加、删除、遍历】
2019/10/25 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
python 递归相关知识总结
2021/03/03 Python
HTML5的表单(绝对特别强大的功能)使用示例
2013/06/20 HTML / CSS
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
自考生自我评价分享
2014/01/18 职场文书
无传销社区工作方案
2014/05/13 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
导游欢送词
2015/01/31 职场文书
2015年酒店工作总结范文
2015/04/07 职场文书
创业计划书之宠物店
2019/09/19 职场文书
pytorch 运行一段时间后出现GPU OOM的问题
2021/06/02 Python