Django 多表关联 存储 使用方法 ManyToManyField save
来源:互联网 发布:网游 知乎 编辑:程序博客网 时间:2024/05/18 22:50
当models中使用ManyToManyField进行多表关联的时候,需要使用字段的add()方法来增加关联关系的一条记录,让两个实例关联起来才能顺利保存关联关系
#models.py 问题分类question_category和类别使用了多对多关系(先不管是否合理)#coding:utf-8from 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_nameclass 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')
详细资料:
http://python.usyiyi.cn/documents/django_182/topics/db/queries.html
django ManyToManyField多对多关系:
http://zengestudy.blog.51cto.com/1702365/1902277
阅读全文
0 0
- Django 多表关联 存储 使用方法 ManyToManyField save
- Django:ManyToManyField
- Django ManyToManyField 跨越中间表查询
- Django-ORM多对多查询 (自定义第三张表&ManyToManyField)
- 【Django基础入门】ManyToManyField跨越中间表查询
- django模型中manytomanyfield的含义
- Django后台ManyToManyField显示成Object
- Django中数据库中ManyToManyField以及一些常用操作
- Django文档——Model中的ForeignKey,ManyToManyField与OneToOneField
- Django文档——Model中的ForeignKey,ManyToManyField与OneToOneField
- Django文档——Model中的ForeignKey,ManyToManyField与OneToOneField
- Django文档——Model中的ForeignKey,ManyToManyField与OneToOneField
- django models save()
- django中的需要的地方: form.save(commit=False)之后需要form.save_m2m() 来保存关联信息
- django中save和add
- django中manytomanyfield 因为verbose_name导致filter_horizontal不显示的问题。
- Django文档——Model中的ForeignKey,ManyToManyField与OneToOneField数据互相读取
- django 多对多存储
- Robot Framework学习(1)——安装和配置
- ORA-01775: looping chain of synonyms
- Codeforces Round #419 (Div. 2) C. Karen and Game【贪心】
- fairygui自定义扩展+两个例子
- Path Sum II问题及解法
- Django 多表关联 存储 使用方法 ManyToManyField save
- js 数组去重多种方法
- mysql百万级数据库GBK转换UTF-8编码
- 信号与系统学习笔记(大纲)
- UVa 11054 Wine trading in Gergovia (贪心)
- 创建一个序列sequence
- XYNUOJ 问题 A: 汉诺塔(一)
- oracle
- HDU1196进制转换