在Django

时间:2015-06-06 15:58:00

标签: python django

我有一个带有字段is_deleted的模型。我已经定义了一个自定义管理器。

我是否可以确保始终排除is_deleted = True的对象?

我想知道我是否可以直接在__init__()覆盖models.Manager或其他内容,而不是排除在自定义管理器中定义的所有功能。

1 个答案:

答案 0 :(得分:1)

默认情况下,您始终可以覆盖默认对象管理器以排除记录:

class DeletedManager(models.Manager):
    def get_queryset(self):
        return super(DeletedManager, self).get_queryset().filter(is_deleted=False)


class YourModel(models.Model):
    . . .

    objects = DeletedManager()