【发布时间】:2021-03-28 07:42:34
【问题描述】:
我有一个抽象模型和一些其他继承自它的类。
# models.py
class Parameter(models.Model):
data = integer = models.IntegerField(blank=True, null=True)
class Meta:
abstract = True
class Temperature(Parameter):
received_timestamp = models.DateTimeField(default=datetime.now, blank=True)
class Ph(Parameter):
received_timestamp = models.DateTimeField(default=datetime.now, blank=True)
虽然我的Parameter 类是抽象的,但我在python manage.py makemigrations 脚本中得到models.E006 错误。
graphs.Temperature.data:(models.E006)字段“data”与模型“graphs.temperature”中的字段“data”发生冲突。
graphs.Ph.data:(models.E006)字段“data”与模型“graphs.ph”中的字段“data”发生冲突。
基于Abstract base classes和这个question,如果我从一个抽象基类继承,那么各个子类的字段名称应该不会与它们的父类冲突(因为它是抽象的)。
有什么想法吗?
【问题讨论】:
标签: python-3.x django inheritance django-models