Django 多表关联 存储 使用方法详解 ManyToManyField save
作者:Peace & Love 发布时间:2023-07-10 08:06:55
标签:Django,ManyToManyField,save
当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多对多关系的实例详解:
https://www.jb51.net/article/167289.htm
来源:https://blog.csdn.net/u013205877/article/details/77102407


猜你喜欢
- 他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询. 翻了手册,找到了下面这个语句,可以完成任务了,但效率较低SELECT&n
- 本文实例讲述了JS实现简洁、全兼容的拖动层。分享给大家供大家参考。具体分析如下:这是一款最简洁的JS层拖动代码,全兼容ie、ff、opera
- 目录前言一、一元判断1.1 举个例子🌰1.2 放入 Object 中1.3 放入 Map 中二、多元判断2.1 举个例子🌰2.2 将判断条件
- Internet的规模每一百天就会增长一倍,客户希望获得7天×24小时的不间断可用性及较快的系统反应时间,而不愿屡次看到某个站点“Serve
- 基于以下三个原因,我们选择Python作为实现机器学习算法的编程语言:(1) Python的语法清晰;(2) 易于操作纯文本文件;(3) 使
- 使用索引提高查询速度1.前言在web开发中,页面模板,业务逻辑(包括缓存、连接池)和数据库这三个部分,数据库在其中负责执行SQL查询并返回查
- PHP sessionphp session 反序列化漏洞存在的原因:当序列化session和读取反序列化字符时采用的序列化选择器不一样时,
- 1. 变量每个变量都存储了一个值在程序中可以随时修改变量,但Python将始终记录变量的最新值message = "Hello H
- Python的Collections模块提供了不少好用的数据容器类型,其中一个精品当属namedtuple。namedtuple能够用来创建
- 使用python自带的itertools模块调用其product函数传入我们想组合生成的字符数据便会源源不断的生成组合而且不会重复repea
- 当需要制作转动鼠标滚轮放大页面字体这样的交互效果时,会用到 Mousewheel 事件。其实在大多数浏览器(IE6, IE7, IE8, O
- 作为一名网站开发WEB前端工程师,对自己开发的网站项目应该尽可能地对其性能进行优化,现在互联网上搜索到的网站性能优化多是翻译转载自 Yaho
- 精妙的"SQL"语句:◆复制表(只复制结构,源表名:a 新表名:b)SQL: select * into b from
- 利用sklearn画出决策树并保存为PDF下载Graphviz进入官网下载并安装:https://graphviz.gitlab.io/_p
- 本文介绍基于Python语言,针对一个文件夹下大量的Excel表格文件,基于其中每一个文件,随机从其中选取一部分数据,并将全部文件中随机获取
- 本文介绍基于PowerShell语言,对文件夹中全部文件的名称加以批量替换、修改的方法。在之前的文章基于Python实现自动批量修改文件名称
- 一.打包Flask项目1.1自己写个Flask1.2 下载pyinstallerpip install pyinstaller可选参数示例说
- 译者按:原文写于2011年末,虽然文中关于Python 3的一些说法可以说已经不成立了,但是作为一篇面向从其他语言转型到Python的程序员
- 讲这个方法之前,我们应该先了解下插入节点时浏览器会做什么。在浏览器中,我们一旦把节点添加到document.body(或者其他节点)中,页面
- Stochastic Depth论文:Deep Networks with Stochastic Depth本文的正则化针对于ResNet中