我有一个带有字段is_deleted
的模型。我已经定义了一个自定义管理器。
我是否可以确保始终排除is_deleted = True
的对象?
我想知道我是否可以直接在__init__()
覆盖models.Manager
或其他内容,而不是排除在自定义管理器中定义的所有功能。
答案 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()