Django中的数据库模型类-models.py(多对多的关系)
2017-10-10 16:53
465 查看
# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models # Create your models here. # 多对多关系 # 例子:一个出版社可以发表多个文章,一篇文章也可以被多个出版社发表 # ManyToManyFiled():关联俩个表的函数,但是函数的设置位置在模型中任选一个即可,不能俩个模型中都设置此函数 class Publication(models.Model): id = models.AutoField(primary_key=True,verbose_name=u'主键') title = models.CharField(max_length=30,null=True,blank=True,verbose_name=u'出版社名称') class Meta: db_table = 'publication' def __unicode__(self): return 'publication-name:%s'%self.title class Article(models.Model): id = models.AutoField(primary_key=True,verbose_name=u'主键') headline = models.CharField(max_length=100,null=True,verbose_name=u'文章标题') # 让文章关联出版社 publication = models.ManyToManyField(Publication,verbose_name=u'外键') class Meta: db_table = 'article' def __unicode__(self): return 'article_name:%s'%self.headline # 注意点: # 1>注意ManyToManyField()的设置位置;该实例中设置在了Article模型中,在绑定俩张表的关系时,利用的是Article的对象a1进行绑定的,a1.publication.add()。但是不能使用Publication的对象p1进行绑定(p1.article.add()) # 2> # 俩张表之间的相互查询关系 # 查询a1这篇文章,所属的出版社有哪些 # print a1.publication.all() # 查询某一个出版社所包含的所有文章有哪些 # print p1.article_set.all()
相关文章推荐
- Django中的数据库模型类-models.py(一对一的关系)
- 浅谈Django中的数据库模型类-models.py(一对一的关系)
- Django中的数据库模型类-models.py(一对多的关系)
- 如何在django中使用models.py对数据库进行操作
- 第三百零九节,Django框架,models.py模块,数据库操作——F和Q()运算符:|或者、&并且——queryset对象序列化
- django修改models.py后同步更新到数据库
- 第三百零八节,Django框架,models.py模块,数据库操作——链表结构,一对多、一对一、多对多
- models.py---Django中的数据库模型
- 第三百零七节,Django框架,models.py模块,数据库操作——表类容的增删改查
- Django 速成笔记(3)--Django models 数据库操作-增删改查-多对多关系以及一对多(外键)关系
- Django(二) models.py
- django models 数据库 增删改查
- 基于 Django1.10 文档的深入学习(4)—— models.py 之 class Meta
- Django数据库一对一数据关系
- Django中ORM模型总结(二)[模型类的对应关系,模型类的属性,字段类型]
- 基于Django的在线MOOC学习系统(4)——创建 course App 并设计 models.py
- Django1.9 models数据库同步问题
- django数据库操作-增删改查-多对多关系以及一对多(外键)关系
- django数据库操作-增删改查-多对多关系以及一对多(外键)关系
- Django从已有数据库创建Models