Python 如何知道django中哪个布尔字段为真

Python 如何知道django中哪个布尔字段为真,python,django,Python,Django,我使用的是python Django。我的模型中有三个布尔字段。现在我想写一个脚本,它返回所有具有真值的布尔字段。是否有可能知道它是否正确,然后指导我如何做到这一点 class Job_offer(models.Model): min_salary = models.IntegerField(verbose_name="Min Salary (per month)") max_salary = models.IntegerField(verbose_name="Max Sala

我使用的是python Django。我的模型中有三个布尔字段。现在我想写一个脚本,它返回所有具有真值的布尔字段。是否有可能知道它是否正确,然后指导我如何做到这一点

class Job_offer(models.Model):

    min_salary = models.IntegerField(verbose_name="Min Salary (per month)")
    max_salary = models.IntegerField(verbose_name="Max Salary (per month)")

    travel_allowance = models.BooleanField(default=False)
    variable_pay = models.BooleanField(default=False)
    pf_esic = models.BooleanField(default=False, verbose_name="PF/ESIC provided?")

如果我正确理解了这个问题,您可以使用来为任何布尔字段为True的对象构建查询

from django.db.models import Q
Job_offer.objects.filter(
    Q(travel_allowance=True) |
    Q(variable_pay=True) |
    Q(pf_esic=True)
)

我认为你的问题写得不对,也许你应该解释一下你为什么需要这个,这样我们就可以更了解你的问题

如果我理解正确,您希望在函数中使用这样的查询

def positive_jobs(self):
    return Job_offer.objects.filter(travel_allowance=True, variable_pay=True, pf_esic=True)

我已经编辑了@ozgur,请检查整个模型@ozgur现在请检查一下。