Django 多表关联 存储 使用方法详解 ManyToManyField save


Posted in Python onAugust 09, 2019

当models中使用ManyToManyField进行多表关联的时候,需要使用字段的add()方法来增加关联关系的一条记录,让两个实例关联起来才能顺利保存关联关系

#models.py 问题分类question_category和类别使用了多对多关系(先不管是否合理)
#coding:utf-8
from django.db import models

# Create your models here.

class QuestionCategory(models.Model):
 category_name = models.CharField('问题分类',max_length=50)

 def __unicode__(self):
 return self.category_name


class Question(models.Model):
 question_category = models.ManyToManyField(QuestionCategory,verbose_name="归属分类")
 question_title = models.CharField('标题', max_length=50)
 question_author = models.ForeignKey('auth.User', blank=True, null=True,verbose_name='作者')
 question_keywords = models.CharField('关键词',max_length=20)
 question_date = models.DateTimeField('date published')
 question_text = models.CharField('正文内容', max_length=200)

 def __unicode__(self):
 return self.question_title
#QuestionCategory.objects.get生成一个类别实例
#request.POST从前端获取表单提交的数据后,凑到Question里面形成一个问题实例
#先把问题实例存好,再在问题实例的多对多关联字段question_category上添加关联对象joe这个类别实例,关联好之后再save第二遍,查看数据库里面关联关系就存好了
def ask_question(request):

 question_category_name = request.POST['radio']
 question_title = request.POST['question_title']
 question_keywords = request.POST['question_keywords']
 question_text = request.POST['question_content']
 question_date = datetime.datetime.now()
 question_author = request.user
 joe = QuestionCategory.objects.get(category_name=question_category_name)
 print joe
 qqqq = Question(question_title=question_title,question_keywords=question_keywords,question_date=question_date,question_text=question_text,question_author=question_author)
 qqqq.save()
 qqqq.question_category.add(joe)
 qqqq.save()

 return redirect('pythonnav:index')

django ManyToManyField多对多关系的实例详解:

以上这篇Django 多表关联 存储 使用方法详解 ManyToManyField save就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现数通设备端口监控示例
Apr 02 Python
python模块smtplib实现纯文本邮件发送功能
May 22 Python
python实现对csv文件的列的内容读取
Jul 04 Python
Python实现随机创建电话号码的方法示例
Dec 07 Python
python os模块简单应用示例
May 23 Python
PyQt 图解Qt Designer工具的使用方法
Aug 06 Python
python KNN算法实现鸢尾花数据集分类
Oct 24 Python
如何运行带参数的python脚本
Nov 15 Python
Python OpenCV视频截取并保存实现代码
Nov 30 Python
Python实现括号匹配方法详解
Feb 10 Python
Python实现动态给类和对象添加属性和方法操作示例
Feb 29 Python
python相对企业语言优势在哪
Jun 12 Python
ORM Django 终端打印 SQL 语句实现解析
Aug 09 #Python
python实现读取excel文件中所有sheet操作示例
Aug 09 #Python
django ManyToManyField多对多关系的实例详解
Aug 09 #Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
Aug 09 #Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
Aug 09 #Python
对django2.0 关联表的必填on_delete参数的含义解析
Aug 09 #Python
python实现美团订单推送到测试环境,提供便利操作示例
Aug 09 #Python
You might like
PHP URL参数获取方式的四种例子
2014/02/28 PHP
PHP内置过滤器FILTER使用实例
2014/06/25 PHP
ecshop实现smtp发送邮件
2015/02/03 PHP
twig模板获取全局变量的方法
2016/02/05 PHP
使用JS操作页面表格,元素的一些技巧
2007/02/02 Javascript
web 页面分页打印的实现
2009/06/22 Javascript
ext 同步和异步示例代码
2009/09/18 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
Javascript常用小技巧汇总
2015/06/24 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
详解NODEJS的http实现
2018/01/04 NodeJs
详解Nuxt.js部署及踩过的坑
2018/08/07 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
如何用Node写页面爬虫的工具集
2018/10/26 Javascript
js实现随机数小游戏
2019/06/28 Javascript
Nodejs中使用puppeteer控制浏览器中视频播放功能
2019/08/26 NodeJs
在Python中处理时间之clock()方法的使用
2015/05/22 Python
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
深入理解Python中的内置常量
2017/05/20 Python
python中实现精确的浮点数运算详解
2017/11/02 Python
Python用户推荐系统曼哈顿算法实现完整代码
2017/12/01 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
2017/12/15 Python
Python 输出时去掉列表元组外面的方括号与圆括号的方法
2018/12/24 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
初中生物教学反思
2014/01/10 职场文书
学校万圣节活动方案
2014/02/13 职场文书
勾股定理课后反思
2014/04/26 职场文书
政府绩效管理实施方案
2014/05/04 职场文书
建设单位项目负责人任命书
2014/06/06 职场文书
新闻发布会策划方案
2014/06/12 职场文书
乡镇党员干部四风对照检查材料思想汇报
2014/09/27 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
导游词之澳门玫瑰圣母堂
2019/12/03 职场文书
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
2021/04/24 Python
Redis缓存-序列化对象存储乱码问题的解决
2021/06/21 Redis
Python代码实现双链表
2022/05/25 Python