Django 多表关联 存储 使用方法详解 ManyToManyField save

 更新时间:2019年08月09日 09:48:23   作者:Peace & Love  
今天小编就为大家分享一篇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

以上这篇Django 多表关联 存储 使用方法详解 ManyToManyField save就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python实现文本进度条 程序进度条 加载进度条 单行刷新功能

    python实现文本进度条 程序进度条 加载进度条 单行刷新功能

    这篇文章主要介绍了python实现文本进度条 程序进度条 加载进度条 单行刷新功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Pytorch中关于F.normalize计算理解

    Pytorch中关于F.normalize计算理解

    这篇文章主要介绍了Pytorch中关于F.normalize计算理解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 浅析Python中正则表达式函数search()和match()的使用

    浅析Python中正则表达式函数search()和match()的使用

    在Python中,正则表达式是处理字符串的强大工具,search()和match()是Python标准库中re模块中两个常用的正则表达式方法,本文将详细讲解这两个方法的使用,需要的可以参考一下
    2023-08-08
  • Django media static外部访问Django中的图片设置教程

    Django media static外部访问Django中的图片设置教程

    这篇文章主要介绍了Django media static外部访问Django中的图片设置教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python数据分析之 Matplotlib 折线图绘制

    Python数据分析之 Matplotlib 折线图绘制

    这篇文章主要介绍了Python数据分析之 Matplotlib 折线图绘制,在数据分析中,数据可视化也非常重要,下文通过数据分析展开对折线图的绘制,需要的小伙伴可以参考一下
    2022-05-05
  • python基于机器学习预测股票交易信号

    python基于机器学习预测股票交易信号

    近年来,随着技术的发展,机器学习和深度学习在金融资产量化研究上的应用越来越广泛和深入。目前,大量数据科学家在Kaggle网站上发布了使用机器学习/深度学习模型对股票、期货、比特币等金融资产做预测和分析的文章。本文就来看看如何用python预测股票交易信号
    2021-05-05
  • 卸载所有通过pip安装的Python包的方法总结(Windows系统)

    卸载所有通过pip安装的Python包的方法总结(Windows系统)

    这篇文章主要介绍了卸载所有通过pip安装的Python包的方法总结(Windows系统),文中通过代码示例和图文讲解的非常详细,并具有一定的参考价值,需要的朋友可以参考下
    2024-08-08
  • Python3爬虫中识别图形验证码的实例讲解

    Python3爬虫中识别图形验证码的实例讲解

    在本篇内容里小编给大家分享的是关于Python3爬虫中识别图形验证码的实例讲解内容,需要的朋友们可以学习参考下。
    2020-07-07
  • Python实现将Word表格嵌入到Excel中

    Python实现将Word表格嵌入到Excel中

    把Word中的表格转到Excel中,顺便做一个调整。这个需求在实际工作中,很多人还是经常碰到的!本文就将介绍如何利用Python实现这一功能,需要的朋友可以了解一下
    2021-12-12
  • Pycharm汉化两种方法(pycharm改为中文版)

    Pycharm汉化两种方法(pycharm改为中文版)

    PyCharm是一款流行的Python开发环境,提供了丰富的功能和工具,使得Python的开发和调试变得更加方便和高效,下面这篇文章主要给大家介绍了Pycharm汉化的两种方法,所谓汉化就是将pycharm改为中文版,需要的朋友可以参考下
    2023-06-06

最新评论