BaseModel基表 models.py
# 基表
class BaseModel(models.Model):
is_delete = models.BooleanField(default=False) #默认不是删除,数据库中是0/1
create_time = models.DateField(auto_now_add=True)
# 作为基表的model不能在数据库中形成对应的表,设置abstract = True
class Meta:
abstract = True #声明该表只是一个抽象表不出现在数据库中
继承基表 models.py
# 书籍表
class Book(BaseModel):
name = models.CharField(max_length=64)
price = models.DecimalField(max_digits=5, decimal_places=2)
img = models.ImageField(upload_to='img', default='img/default.jpg')
# 关联出版社表
publish = models.ForeignKey(
to='Publish', # 关联publish表
db_constraint=False, #断关联(断开Book表和Publish表的关联,方便删数据,虽然断开了关联但是还能正常使用
related_name='books', # 反向查询字段:publish_obj.books就能查出当前出版社出版的所有书籍