ORM外键创建


一对多外键关系  
    """在orm中 外键字段建在多的一方"""
多对多外键关系
    """在orm中 可以直接写在查询频率较高的表中(自动创建第三张表)"""
一对一外键关系
    """在orm中 直接写在查询频率较高的表中"""
    
# 一对多
    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()