10 基类
基类
基类是抽象的类(不会完成数据库迁移),数据库中不会存在该表,目的是提供共有字段的
class BaseModel(models.Model):
    is_delete = models.BooleanField(default=False)
    updated_time = models.DateTimeField(auto_now_add=True)
 
    class Meta:
        abstract = True  # 必须完成该配置
应用
 
class Book(BaseModel):
    name = models.CharField(max_length=64)
    price = models.DecimalField(max_digits=5, decimal_places=2, null=True)
    image = models.ImageField(upload_to='img', default='img/default.png')
 
    publish = models.ForeignKey(to='Publish', related_name='books', db_constraint=False, on_delete=models.DO_NOTHING)
    authors = models.ManyToManyField(to='Author', related_name='books', db_constraint=False)
 
 
class Publish(BaseModel):
    name = models.CharField(max_length=64)
 
 
class Author(BaseModel):
    name = models.CharField(max_length=64)
 
 
class AuthorDetail(BaseModel):
    phone = models.CharField(max_length=11)
    author = models.OneToOneField(
        to=Author,
        related_name='detail',
        db_constraint=False,
        on_delete=models.SET_NULL,
        null=True
    )

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号