Skip to main content
 首页 » 编程设计

python之对于 django 模型的任何查询,仅对事件设置为 true 的元素执行查询

2025年05月04日34Renyi-Fan

由于缺乏计划,我发现自己不得不在模型的后期引入一个名为“Active”的 bool 字段。想法是只返回对 Db 的任何查询具有 active 的元素。一种可能的方法是编辑我对模型的所有查询以添加类似

的内容
Q(active==true) 

这需要大量的改变。是否有可能使用“class meta”我可以设置排序,以便对 Db 的任何查询仅对事件设置为 true 的元素执行。

class Db(models.Model): 
   url = models.TextField() 
   description = models.TextField(blank=True, null=True) 
   active = models.BooleanField()(initial=True) 
 
   class Meta: 
       ordering = ['-id'] 

请您参考如下方法:

您可以实现自定义默认对象管理器并根据您的标准进行过滤。

引用Custom managers , 但是请记住 Do not filter away any results in this type of manager subclass正如 django 警告覆盖默认对象管理器。