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快速查找算法应用实例
Sep 26 Python
使用Python写一个贪吃蛇游戏实例代码
Aug 21 Python
python基础_文件操作实现全文或单行替换的方法
Sep 04 Python
Python3实现的Mysql数据库操作封装类
Jun 06 Python
python实现顺时针打印矩阵
Mar 02 Python
python 弹窗提示警告框MessageBox的实例
Jun 18 Python
python Dijkstra算法实现最短路径问题的方法
Sep 19 Python
python生成器推导式用法简单示例
Oct 08 Python
python 类之间的参数传递方式
Dec 20 Python
python中的subprocess.Popen()使用详解
Dec 25 Python
Python unittest生成测试报告过程解析
Sep 08 Python
Python 高级库15 个让新手爱不释手(推荐)
May 15 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
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
解析PHP缓存函数的使用说明
2013/05/10 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
2014/04/19 PHP
PHP把数字转成人民币大写的函数分享
2014/06/30 PHP
Linux下php5.4启动脚本
2014/08/03 PHP
PHP 错误处理机制
2015/07/06 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
JavaScript Archive Network 集合
2007/05/12 Javascript
一个挺有意思的Javascript小问题说明
2011/09/26 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
2013/06/21 Javascript
巧用replace将文字表情替换为图片
2014/04/17 Javascript
javascript实现校验文件上传控件实例
2015/04/20 Javascript
最实用的jQuery分页插件
2016/10/09 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
2017/07/13 Javascript
微信小程序中实现手指缩放图片的示例代码
2018/03/13 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
2018/09/27 Javascript
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
[08:56]DOTA2-DPC中国联赛2月23日Recap集锦
2021/03/11 DOTA
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
python 字符串常用函数详解
2019/09/11 Python
python matplotlib如何给图中的点加标签
2019/11/14 Python
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
使用SVG实现提示框功能的示例代码
2020/06/05 HTML / CSS
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
工商管理实习自我鉴定
2013/09/28 职场文书
成人大专自我鉴定范文
2013/10/19 职场文书
物流司机岗位职责
2013/12/28 职场文书
幼儿园小班教学反思
2014/02/02 职场文书
物流专业自荐信
2014/05/23 职场文书
个人求职信格式范文
2015/03/20 职场文书
党员公开承诺书2016
2016/03/24 职场文书
python b站视频下载的五种版本
2021/05/27 Python