【发布时间】:2017-08-28 12:48:05
【问题描述】:
这是我的问题:我尝试在
下创建图层models.Model
我的模特 -
class MainModel(models.Model):
@staticmethod
def getIf(condition):
results = __class__.objects.filter(condition)
if results.count() > 0:
return results.first()
else:
return None
这是一个模型
class User(MainModel):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=256)
date_create = models.DateTimeField(auto_now_add=True)
date_last_login = models.DateTimeField(null=True)
但我的项目因错误而崩溃 -
django.core.exceptions.FieldError:“用户”类中的本地字段“id” 与基类“MainModel”中的同名字段发生冲突。
我做错了什么?
UPD:如果你想这样做,你需要在你的层中使用子类 Meta
class MainModel(models.Model):
@staticmethod
def getIf(condition:dict):
results = __class__.objects.filter(condition)
if results.count() > 0:
return results.first()
else:
return None
class Meta:
abstract = True
【问题讨论】:
-
你读过model inheritence上的文档了吗?
-
使用
user_id代替id。 -
不,当然,如果我问 )) 好的,我找到了我丢失的东西
标签: python django inheritance