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 06 Python
Python自动连接ssh的方法
Mar 07 Python
Python输出9*9乘法表的方法
May 25 Python
Python爬虫爬取美剧网站的实现代码
Sep 03 Python
Python+OpenCV人脸检测原理及示例详解
Oct 19 Python
Python matplotlib画曲线例题解析
Feb 07 Python
Python 中的pygame安装与配置教程详解
Feb 10 Python
Python流程控制语句的深入讲解
Jun 15 Python
python 如何将office文件转换为PDF
Sep 22 Python
Python字典实现伪切片功能
Oct 28 Python
python利用proxybroker构建爬虫免费IP代理池的实现
Feb 21 Python
python字符串常规操作大全
May 02 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加Nginx实现动态裁剪图片方案
2014/03/10 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
2016/04/07 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
Yii2.0框架模型多表关联查询示例
2019/07/18 PHP
javascript学习笔记(十) js对象 继承
2012/06/19 Javascript
Jquery 分页插件之Jquery Pagination
2015/08/25 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
jQuery绑定事件on()与弹窗的简要概述
2016/04/27 Javascript
JS实现的打字机效果完整实例
2016/06/20 Javascript
BootStrapValidator初使用教程详解
2017/02/10 Javascript
jQuery中 bind的用法简单介绍
2017/02/13 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
2017/12/06 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
2018/05/02 Javascript
详解服务端预渲染之Nuxt(介绍篇)
2019/04/07 Javascript
在Node.js中将SVG图像转换为PNG,JPEG,TIFF,WEBP和HEIF格式的方法
2019/08/22 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
2020/05/23 Javascript
python函数参数*args**kwargs用法实例
2013/12/04 Python
python控制台显示时钟的示例
2014/02/24 Python
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
Python类属性的延迟计算
2016/10/22 Python
Python 实现选择排序的算法步骤
2018/04/22 Python
Python八皇后问题解答过程详解
2019/07/29 Python
python对XML文件的操作实现代码
2020/03/27 Python
Python虚拟环境库virtualenvwrapper安装及使用
2020/06/17 Python
python函数超时自动退出的实操方法
2020/12/28 Python
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
Shopee越南:东南亚与台湾电商平台
2019/02/03 全球购物
Shop Apotheke瑞士:您的健康与美容网上商店
2019/10/09 全球购物
2015年元旦文艺汇演主持词
2014/03/26 职场文书
推广普通话标语
2014/06/27 职场文书
税务会计岗位职责
2015/04/02 职场文书
公司员工宿舍管理制度
2015/08/03 职场文书
golang如何去除多余空白字符(含制表符)
2021/04/25 Golang
Spring Cache和EhCache实现缓存管理方式
2021/06/15 Java/Android