Django 多表關(guān)聯(lián) 存儲 使用方法詳解 ManyToManyField save
當models中使用ManyToManyField進行多表關(guān)聯(lián)的時候,需要使用字段的add()方法來增加關(guān)聯(lián)關(guān)系的一條記錄,讓兩個實例關(guān)聯(lián)起來才能順利保存關(guān)聯(lián)關(guān)系
#models.py 問題分類question_category和類別使用了多對多關(guān)系(先不管是否合理)
#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('關(guān)鍵詞',max_length=20)
question_date = models.DateTimeField('date published')
question_text = models.CharField('正文內(nèi)容', max_length=200)
def __unicode__(self):
return self.question_title
#QuestionCategory.objects.get生成一個類別實例
#request.POST從前端獲取表單提交的數(shù)據(jù)后,湊到Question里面形成一個問題實例
#先把問題實例存好,再在問題實例的多對多關(guān)聯(lián)字段question_category上添加關(guān)聯(lián)對象joe這個類別實例,關(guān)聯(lián)好之后再save第二遍,查看數(shù)據(jù)庫里面關(guān)聯(lián)關(guān)系就存好了
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多對多關(guān)系的實例詳解:
http://chabaoo.cn/article/167289.htm
以上這篇Django 多表關(guān)聯(lián) 存儲 使用方法詳解 ManyToManyField save就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
django queryset 去重 .distinct()說明
這篇文章主要介紹了django queryset 去重 .distinct()說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
使用Python實現(xiàn)大學(xué)座位預(yù)約功能
這篇文章主要介紹了如何用Python實現(xiàn)大學(xué)座位預(yù)約,今天這個教程教你如何搶到座位,有座位了還怕聽不到課嗎?感興趣的朋友一起看看吧2022-03-03
pandas.concat實現(xiàn)DataFrame豎著拼接、橫著拼接方式
這篇文章主要介紹了pandas.concat實現(xiàn)DataFrame豎著拼接、橫著拼接方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10
python實現(xiàn)密度聚類(模板代碼+sklearn代碼)
這篇文章主要介紹了python實現(xiàn)密度聚類(模板代碼+sklearn代碼),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
Python使用plotly繪制數(shù)據(jù)圖表的方法
本篇文章主要介紹了Python使用plotly繪制數(shù)據(jù)圖表的方法,實例分析了plotly繪制的技巧,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07

