Django里orm关系表创建
from django.db import models # Create your models here. class Book(models.Model): title = models.CharField(max_length=32) # 总共八位 小数占两位 price = models.DecimalField(max_digits=8,decimal_places=2) # 出版社和书是一对多的关系 外键字段键在多的一方 publish_id = models.ForeignKey(to='Publish') # to指定跟谁是外键关联的 默认关联的是表的主键字段 """ ForeignKey字段 django orm在创建表的时候 会自动给该字段添加_id后缀 """ # 书和作者是多对多的关系 外键字段建在任何一方都可以 但是 推荐你建在查询频率比较高的一方 authors = models.ManyToManyField(to='Author') """authors字段仅仅是一个虚拟字段 不会再表中展示出来 仅仅是用来告诉django orm 书籍表和作者表示多对多的关系 自动创建第三张表 """ class Publish(models.Model): name = models.CharField(max_length=32) addr = models.CharField(max_length=255) class Author(models.Model): name = models.CharField(max_length=32) phone = models.BigIntegerField() # 一对一字段 建在哪张表都可以 但是推荐你建在 查询频率比较高的那张表 author_detail = models.OneToOneField(to='AuthorDetail') """ OneToOneField字段 django orm在创建表的时候 会自动给该字段添加_id后缀 """ class AuthorDetail(models.Model): addr = models.CharField(max_length=255) age = models.IntegerField()
千万不能让自己的表里面的外键的字段名字设置为后缀_id,因为他会自动帮我们加上。