djangoManyToManyField多对多关系的实例详解-创新互联
Django 的 ORM 有多种关系:一对一,多对一,多对多

各自定义的方式为 :
一对一: OneToOneField
多对一: ForeignKey
多对多: ManyToManyField
上边的描述太过数据而缺乏人性化,我们来更人性化一些:
多个属于一个,即 belong to : ForeignKey,多个属于一个
一个有一个,即 has one: OneToOneField
一个有很多个,即 has many: lots of A belong to B 与 B has many A,在建立 ForeignKey 时,另一个表会自动建立对应的关系
一个既有很多个,又属于很多个,即 has many and belong to : ManyToManyField,同样只能在一个model类中说明,关联表会自动建立。
多对多的关系:
举例:现有两张表,user表和group表。user表中的字段有用户名,邮箱,年龄等信息。而group表中有组名信息。我们知道一个用户可以属于多个组,一个组中也可以包含多个用户,所以这两张表的关系就是多对多的关系。
mysite/learn/models.py文件代码
#coding:utf8
from django.db import models
class Group(models.Model):
Name = models.CharField(max_length=20)
def __unicode__(self):
return self.Name
class User(models.Model):
Name = models.CharField(max_length=20)
Email = models.CharField(max_length=50)
group = models.ManyToManyField(Group,blank=True)
def __unicode__(self):
return self.Name
def group_list(self):
return ','.join([i.Name for i in self.group.all()])
当前题目:djangoManyToManyField多对多关系的实例详解-创新互联
文章网址:http://www.jxjierui.cn/article/edjdj.html


咨询
建站咨询
