如何通過相關模型生成query_set?通過相關模型篩選django
例如,我怎麼可以這樣做:
UserProfile.objects.filter(user.is_active=True) # Can't use user.is_active to filter
瑣碎的問題,瑣碎的答案。但爲了後代的緣故,我會把它留在這裏。
如何通過相關模型生成query_set?通過相關模型篩選django
例如,我怎麼可以這樣做:
UserProfile.objects.filter(user.is_active=True) # Can't use user.is_active to filter
瑣碎的問題,瑣碎的答案。但爲了後代的緣故,我會把它留在這裏。
UserProfile.objects.filter(user__is_active=True)
這是在Django文檔中的documented。
是的,我剛剛找到它。謝謝。 [跨越關係](https://docs.djangoproject.com/en/dev/topics/db/queries/#lookups-that-span-relationships) –
Django還提供了強大的,直觀的方式,以「跟隨」,在查找關係,照顧的SQL自動爲您連接,在幕後。要跨越關係,只需使用模型中相關字段的字段名稱(用雙下劃線分隔),直到您到達所需的字段。
在您的例子,這將是:
UserProfile.objects.filter(user__is_active=True)
遵循關係最簡單的方法是使用一個簡單的「__」。
UserProfile.objects.filter(user__is_active = TRUE)
這些可以一起改好了(即用戶_ 父 _email='[email protected]')
我很高興你做到了!誰讀這些日子,更容易來到SO! – bharal