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.scyingshan.cn/article/edjdj.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 