这是我的问题:我尝试在
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
谢谢,但是我没有尝试覆盖字段,在我的图层中没有一个字段没有定义。我找到了答案,我只需要阅读文档。
如果要这样做,则需要在图层中使用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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句