“Meta”写成"Mete"引发的血案

背景知识:

django模型继承:

  当模型中定义了如下时,说明是一个抽象的基类,在数据库迁移操作时该基类不会生成对应表:

class Meta:
"""说明是一个抽象模型类"""
abstract = True

如图,基类(base_model.py)所在目录只是一个普通目录,不是一个app:

 错把Meta写成了Mete,则表明当其他类继承了这个基类后,在迁移生成库表的时候会生成一个基类表,然后子类对应的表通过外键(OneToOneField 外键)和基类对应的表关联。但是,因为基类所在目录不是一个app,不会生成迁移文件,所以不会生成对应的库表,最终导致在执行python manage.py migrate时,发生如下错误:

 

原文地址:https://www.cnblogs.com/Xiaojiangzi/p/12969064.html