Django我只想查询是_delete False,我如何限制它

2024-09-30 14:33:26 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个模型,其中有一个字段是\u delete false默认值,如果它变成true,那么当像model.obects.all()一样被查询时,是\u delete true,queryset不应该出现。queryset只有一个查询是\u delete false


Tags: 模型falsetruemodelalldeletequerysetobects
2条回答

您可以使用以下命令覆盖.objects管理器:

from django.db import models

class MyModelManager(models.Manager):
    
    def get_queryset(self, *args, **kwargs):
        return super().get_queryset(*args, **kwargs).filter(
            is_delete=False
        )

class MyModel(models.Model):
    # …
    is_delete = models.BooleanField(default=False)

    objects = MyModelManager()

您应该使用筛选方法: e、 g.Model.objects.filter(is_delete=False)

相关问题 更多 >