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中使用SimpleParse模块进行解析的教程
Apr 11 Python
python从入门到精通(DAY 3)
Dec 20 Python
全面理解Python中self的用法
Jun 04 Python
python3解析库pyquery的深入讲解
Jun 26 Python
python2 与 python3 实现共存的方法
Jul 12 Python
python绘制简单彩虹图
Nov 19 Python
PyQt QListWidget修改列表项item的行高方法
Jun 20 Python
在Python中画图(基于Jupyter notebook的魔法函数)
Oct 28 Python
Python绘制全球疫情变化地图的实例代码
Apr 20 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
May 25 Python
Python Request类源码实现方法及原理解析
Aug 17 Python
Django与AJAX实现网页动态数据显示的示例代码
Feb 24 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
UCenter Home二次开发指南
2009/05/28 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
2013/06/24 PHP
phpQuery占用内存过多的处理方法
2013/11/13 PHP
php生成QRcode实例
2014/09/22 PHP
一个实用的php验证码类
2017/07/06 PHP
JS OOP包机制,类创建的方法定义
2009/11/02 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
2013/11/25 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
2014/08/01 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
HTML5实现留言和回复页面样式
2015/07/22 Javascript
详解jQuery的表单验证插件--Validation
2016/12/21 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
浅析Angular2子模块以及异步加载
2017/04/24 Javascript
详解vue 图片上传功能
2019/04/30 Javascript
layui写后台表格思路和赋值用法详解
2019/11/14 Javascript
NodeJS多种创建WebSocket监听的方式(三种)
2020/06/04 NodeJs
vue实现抽屉弹窗效果
2020/11/15 Javascript
Python模拟登陆实现代码
2017/06/14 Python
对python append 与浅拷贝的实例讲解
2018/05/04 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
2019/05/10 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
Python如何优雅删除字符列表空字符及None元素
2020/06/25 Python
pycharm 2020 1.1的安装流程
2020/09/29 Python
css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局
2014/10/10 HTML / CSS
css3 media 响应式布局的简单实例
2016/08/03 HTML / CSS
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
科沃斯机器人官网商城:Ecovacs
2016/08/29 全球购物
高中生的学习总结自我鉴定
2013/10/26 职场文书
工业自动化毕业生自荐信范文
2014/01/04 职场文书
四个太阳教学反思
2014/02/01 职场文书
大学活动总结范文
2014/04/29 职场文书
店铺转让协议书(2014版)
2014/09/23 职场文书
酒店辞职书怎么写
2015/02/26 职场文书
详解Java实现数据结构之并查集
2021/06/23 Java/Android
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL