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 相关文章推荐
使用wxpython实现的一个简单图片浏览器实例
Jul 10 Python
Python 12306抢火车票脚本
Feb 07 Python
python email smtplib模块发送邮件代码实例
Apr 26 Python
python 爬虫 批量获取代理ip的实例代码
May 22 Python
在Python中实现shuffle给列表洗牌
Nov 08 Python
python消费kafka数据批量插入到es的方法
Dec 27 Python
利用python实现在微信群刷屏的方法
Feb 21 Python
python elasticsearch从创建索引到写入数据的全过程
Aug 04 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
Sep 16 Python
使用Django实现把两个模型类的数据聚合在一起
Mar 28 Python
Keras中的多分类损失函数用法categorical_crossentropy
Jun 11 Python
python中操作文件的模块的方法总结
Feb 04 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把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
JQuery下关于$.Ready()的分析
2009/12/13 Javascript
JQuery开发的数独游戏代码
2010/10/29 Javascript
关于js datetime的那点事
2011/11/15 Javascript
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
基于NodeJS的前后端分离的思考与实践(五)多终端适配
2014/09/26 NodeJs
Javascript模块化编程详解
2014/12/01 Javascript
浅谈Javascript数组的使用
2015/07/29 Javascript
JS实现的另类手风琴效果网页内容切换代码
2015/09/08 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
如何实现json数据可视化详解
2016/11/24 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
2017/03/23 Javascript
vue-lazyload图片延迟加载插件的实例讲解
2018/02/09 Javascript
详解nodejs通过响应回写的方式渲染页面资源
2018/04/07 NodeJs
javascript对HTML字符转义与反转义
2018/12/13 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
2019/05/29 Javascript
vuex的数据渲染与修改浅析
2020/11/26 Vue.js
python3实现读取chrome浏览器cookie
2016/06/19 Python
用matplotlib画等高线图详解
2017/12/14 Python
Python自定义线程类简单示例
2018/03/23 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
谈谈python垃圾回收机制
2020/09/27 Python
css3实现背景图片拉伸效果像桌面壁纸一样
2013/08/19 HTML / CSS
CSS3实现div从下往上滑入滑出效果示例
2020/04/28 HTML / CSS
德国购买健身器材:AsVIVA
2017/08/09 全球购物
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
澳大利亚网上买书:Angus & Robertson
2019/07/21 全球购物
屈臣氏泰国官网:Watsons TH
2021/02/23 全球购物
领导检查欢迎词
2014/01/14 职场文书
《长征》教学反思
2014/04/27 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
大学新闻系求职信
2014/06/03 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
田径运动会通讯稿
2015/07/18 职场文书
活动简报范文
2015/07/22 职场文书
python3+PyQt5+Qt Designer实现界面可视化
2021/06/10 Python