Django Models - 获取父级 BaseModel 类中所有对象的函数

问题描述 投票:0回答:1
class BaseModel(models.Model):
    id = models.AutoField(primary_key=True)
    imported_id = models.CharField(max_length=200, blank=True, null=True)

    class Meta:
        abstract = True

    def get_all_imported_id(self):
        all_objects = xxxxx.objects.all()
        return [i.imported_from for i in all_objects]

class Model_1(BaseModel):
....

class Model_2(BaseModel):
....

我想在我的 BaseModel 类中创建函数“get_all_imported_id”,它返回我当前和未来所有模型中的值列表。当被呼叫时,例如Model1.get_all_imported_id() 应该返回所有 Models1 导入的 id 的列表。

django django-models parent-child
1个回答
0
投票

您可以使用:

class BaseModel(models.Model):
    # …

    class Meta:
        abstract = True

    @classmethod
    def get_all_imported_id(cls):
        return cls.objects.values('imported_id', flat=True)
© www.soinside.com 2019 - 2024. All rights reserved.