Python-从继承模型的类继承

马克西姆(Maksim Zarechnyi)

这是我的问题:我尝试在

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
马克西姆(Maksim Zarechnyi)

谢谢,但是我没有尝试覆盖字段,在我的图层中没有一个字段没有定义。我找到了答案,我只需要阅读文档。

如果要这样做,则需要在图层中使用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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章