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关闭windows进程的方法
Apr 18 Python
在Python程序中操作文件之flush()方法的使用教程
May 24 Python
Python可变参数用法实例分析
Apr 02 Python
Python实现读取邮箱中的邮件功能示例【含文本及附件】
Aug 05 Python
使用pytorch进行图像的顺序读取方法
Jul 27 Python
学生信息管理系统python版
Oct 17 Python
详解Python的三种可变参数
May 08 Python
Python 离线工作环境搭建的方法步骤
Jul 29 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
Feb 26 Python
Keras 中Leaky ReLU等高级激活函数的用法
Jul 05 Python
python实现简单遗传算法
Sep 18 Python
python三子棋游戏
May 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
《猛禽小队》:DC宇宙的又一超级大烂片
2020/04/09 欧美动漫
PHP GD 图像处理组件的常用函数总结
2010/04/28 PHP
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
2012/06/27 PHP
php实现快速排序法函数代码
2012/08/27 PHP
php导出excel格式数据问题
2014/03/11 PHP
Symfony2学习笔记之模板用法详解
2016/03/17 PHP
location.href 在IE6中不跳转的解决方法与推荐使用代码
2010/07/08 Javascript
JS定时关闭窗口的实例
2013/05/22 Javascript
原生js做的手风琴效果的导航菜单
2013/11/08 Javascript
jQuery实现二级下拉菜单效果
2016/01/05 Javascript
JS简单实现仿百度控制台输出信息效果
2016/09/04 Javascript
简易的JS计算器实现代码
2016/10/18 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
2017/01/06 Javascript
微信小程序中顶部导航栏的实现代码
2017/03/30 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
layui之table checkbox初始化时选中对应选项的方法
2019/09/02 Javascript
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
2016/06/13 Python
Python算法之求n个节点不同二叉树个数
2017/10/27 Python
详解Python之unittest单元测试代码
2018/01/24 Python
Python科学计算包numpy用法实例详解
2018/02/08 Python
python utc datetime转换为时间戳的方法
2019/01/15 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
linux系统下pip升级报错的解决方法
2021/01/31 Python
python如何实现递归转非递归
2021/02/25 Python
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
印度最大的网上花店:Ferns N Petals(鲜花、礼品和蛋糕)
2017/10/16 全球购物
Auguste The Label官网:澳大利亚一家精品女装时尚品牌
2020/06/14 全球购物
大学毕业的自我鉴定
2013/10/08 职场文书
中英双版中文教师求职信
2013/10/27 职场文书
村干部群众路线教育活动对照检查材料
2014/10/01 职场文书
缓刑期间思想汇报范文
2014/10/10 职场文书
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
2022/04/11 Vue.js
golang连接MySQl使用sqlx库
2022/04/14 Golang