一对多外键关系
"""在orm中 外键字段建在多的一方,在实际表中publish会自动加上_id后缀(自己在定义的时候不要加)"""
多对多外键关系
"""在orm中 可以直接写在查询频率较高的表中(自动创建第三张表)并不会在表中展示出来 而是告诉orm自动创建第三张关系表"""
一对一外键关系
"""在orm中 直接写在查询频率较高的表中,在实际表中publish会自动加上_id后缀(自己在定义的时候不要加)"""
# 一对多
publish = models.ForeignKey(to='Publish')
# 多对多
authors = models.ManyToManyField(to='Author') # 自动创建书籍和作者的第三张关系表
# 一对一
author_detail = models.OneToOneField(to='AuthorDetail')
"""
ForeignKey 和 OneToOneField 会自动给字段加_id后缀
"""
class Book(models.Model):
title = models.CharField(max_length=32)
price = models.DecimalField(max_digits=8,decimal_places=2)
# 一对多
publish = models.ForeignKey(to='Publish')
# 多对多
authors = models.ManyToManyField(to='Author') # 自动创建书籍和作者的第三张关系表
class Publish(models.Model):
title = models.CharField(max_length=32)
class Author(models.Model):
name = models.CharField(max_length=32)
# 一对一
author_detail = models.OneToOneField(to='AuthorDetail')
class AuthorDetail(models.Model):
addr = models.CharField(max_length=32)
phone = models.BigIntegerField()