15 ORM外键创建


一对多外键关系  
    """在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()

 



 


 

 
posted @ 2021-11-23 23:58  甜甜de微笑  阅读(88)  评论(0编辑  收藏  举报