我有这3个型号:
models.QuerySet
根据当前时间(基本上是下面的State_Schedules
),contactables()
也有Person
进行过滤。
如何让state
个对象在django中与Persons
进行比较?
我试过了,但是使用Person_Address
获取persons = Person_Address.objects.select_related('person').filter(
state__in=(
_.state for _ in State_Schedules.objects.contactables()
)
)
似乎很麻烦。
Person_Address
如果我可以将Person
关联作为关键字访问raw
的过滤器,这应该很简单,但我还没有找到如何执行此操作。
有更好的方法还是我不得不求助于chrome.webNavigation
sql?
答案 0 :(得分:0)
有Person_Address
到Person
的外键,因此您可以过滤反向关系。使用双下划线表示法来过滤Person_Address
模型中的字段。
states = [_.state for _ in State_Schedules.objects.contactables()]
people = Person.objects.filter(person_address__state__in=states)