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批量生成本地ip地址的方法
Mar 23 Python
利用Python开发实现简单的记事本
Nov 15 Python
python中判断文件编码的chardet(实例讲解)
Dec 21 Python
python 列表删除所有指定元素的方法
Apr 19 Python
pandas如何处理缺失值
Jul 31 Python
利用ImageAI库只需几行python代码实现目标检测
Aug 09 Python
python 利用jinja2模板生成html代码实例
Oct 10 Python
Python底层封装实现方法详解
Jan 22 Python
tensorflow 初始化未初始化的变量实例
Feb 06 Python
python实现单张图像拼接与批量图片拼接
Mar 23 Python
Keras 在fit_generator训练方式中加入图像random_crop操作
Jul 03 Python
python办公自动化之excel的操作
May 23 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批量删除、清除UTF-8文件BOM头的代码实例
2014/04/14 PHP
phpcms手机内容页面添加上一篇和下一篇
2015/06/05 PHP
PHP二维数组矩形转置实例
2016/07/20 PHP
给jqGrid数据行添加修改和删除操作链接(之一)
2011/11/04 Javascript
获取offsetTop和offsetLeft值的js代码(兼容)
2013/04/16 Javascript
浅析JavaScript中的常用算法与函数
2013/11/21 Javascript
js获取json元素数量的方法
2015/01/27 Javascript
基于JavaScript实现全屏透明遮罩div层锁屏效果
2016/01/26 Javascript
jQuery插件uploadify实现ajax效果的图片上传
2016/06/18 Javascript
ajax分页效果(bootstrap模态框)
2017/01/23 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
2017/05/26 Javascript
js实现拖拽上传图片功能
2017/08/01 Javascript
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
2017/12/24 jQuery
解决Angular.js中使用Swiper插件不能滑动的问题
2018/02/26 Javascript
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
JS自定义对象创建与简单使用方法示例
2020/01/15 Javascript
js实现超级玛丽小游戏
2020/03/18 Javascript
jQuery实现动态向上滚动
2020/12/21 jQuery
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
2021/01/29 jQuery
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
pytorch + visdom CNN处理自建图片数据集的方法
2018/06/04 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
目前不被任何主流浏览器支持的CSS3属性汇总
2014/07/21 HTML / CSS
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
英国鹦鹉店:Parrot Essentials
2018/12/03 全球购物
英国马莎百货印度官网:Marks & Spencer印度
2020/10/08 全球购物
C语言如何决定使用那种整数类型
2016/11/26 面试题
企业为何需要商业计划书
2013/12/26 职场文书
学生会副主席竞聘书
2014/03/31 职场文书
2015年治庸问责工作总结
2015/07/27 职场文书
运动会闭幕式致辞
2015/07/29 职场文书
详解Python函数print用法
2021/06/18 Python
SpringAop日志找不到方法的处理
2021/06/21 Java/Android
台式电脑蓝牙适配器怎么安装?台式电脑蓝牙适配器安装教程
2022/04/08 数码科技