Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django为模型定义一个基本queryset过滤器_Django_Django Models - Fatal编程技术网

Django为模型定义一个基本queryset过滤器

Django为模型定义一个基本queryset过滤器,django,django-models,Django,Django Models,我为正在构建的应用程序定义了一个基础模型。它带有用户和公司引用的戳记,继承该类的每个模型都属于一个公司(这是经过仔细设置的,以避免发生冲突)。 我现在想做的是让用户选择一个几乎像“数据集”一样的公司,并从查询中筛选出不属于该公司的模型 我知道我必须在基类中与某种自定义管理器一起工作。我的方向对吗?这是否可行? 这是一种简单的方法,可以共享一些模型,并根据可能在会话或数据库中设置的值分离其他模型 我没有样本代码,因为我找不到任何线索开始 我的基本模型如下所示: class CompanyStamp

我为正在构建的应用程序定义了一个基础模型。它带有用户和公司引用的戳记,继承该类的每个模型都属于一个公司(这是经过仔细设置的,以避免发生冲突)。 我现在想做的是让用户选择一个几乎像“数据集”一样的公司,并从查询中筛选出不属于该公司的模型

我知道我必须在基类中与某种自定义管理器一起工作。我的方向对吗?这是否可行? 这是一种简单的方法,可以共享一些模型,并根据可能在会话或数据库中设置的值分离其他模型

我没有样本代码,因为我找不到任何线索开始

我的基本模型如下所示:

class CompanyStampedModel(models.Model):
    company = models.ForeignKey(Company, related_name='+', null=True, blank=True)

    # Here I would like to be able to define a custom manager to filter out
    # the models in any query (that uses the ORM).Can I override the objects manager?

    class Meta:
        abstract = True

对于任何面临类似问题的人,我就是这样做的:

class CompanyUserStampedModelManager(models.Manager):

def get_queryset(self):
    queryset = super(CompanyUserStampedModelManager, self).get_queryset()
    #custom filtering here
    return queryset


class CompanyUserTimestampedModel(UserTimestampedModel, EmpresaStampedModel):

    objects = EmpresaUserStampedModelManager()
这成功地在每个查询中过滤掉了它们