django ForeignKey ManyToManyField 一对一多对多建表

djano 简单例子创建表

class Merchant(models.Model):
    Merchant_name = models.CharField(max_length=20)

class Phone(models.Model):
    phone = models.CharField(max_length=11)
    user = models.ForeignKey('Merchant')

class Store(models.Model):
    store_name = models.CharField(max_length=20)
    store = models.ManyToManyField('Merchant')

这里创建3个模型类Merchant:商家, Phone:商家电话, Store:店铺
一个商家可以有多个电话号码,一对多
一个商家可以拥有多个店铺,一个店铺也可以由多个商家合开
Phone一对多中运用外键 ForeignKey关联Merchant
Store多对多运用ManyToManyField关联Merchant
现在生成了4张表:
django ForeignKey ManyToManyField 一对一多对多建表_第1张图片
用 Nacicat 打开MySQL数据库更方便查看
商家表:
django ForeignKey ManyToManyField 一对一多对多建表_第2张图片
电话号码表:
django ForeignKey ManyToManyField 一对一多对多建表_第3张图片
这里外键(ForeignKey)就是store_id 关联店家id,
店铺表:
django ForeignKey ManyToManyField 一对一多对多建表_第4张图片
店铺店家关系表:

django ForeignKey ManyToManyField 一对一多对多建表_第5张图片
这个表就是ManyToManyField生成的表,不是我们定义的模型类生成的表
是店铺id 与商家 id 对应起来,说明二者关联

你可能感兴趣的:(django,python)