我想通過Github 型別org_data的串列按外鍵過濾 org 收集器。org_data
OrgCollector.objects.filter(
org_data=OrgData.objects.filter(
data_type=DataTypeEnum.GITHUB
))
我目前有這個,但它不起作用。我該怎么做?
使用 for 回圈遍歷串列是可行的,但我希望有更好的方法。
我也嘗試過org_data__in,但這似乎也不起作用。
uj5u.com熱心網友回復:
您可以使用以下方式過濾:
OrgCollector.objects.filter(
org_data__data_type=DataTypeEnum.GITHUB
)
這將“通過”關系并因此檢索OrgCollectors 的data_types 。org_dataDataTypeEnum.GITHUB
uj5u.com熱心網友回復:
如果我正確理解了您的問題并且您添加了正確的代碼,那么您可以執行以下操作:
# Get ids of org_data
org_data_ids = OrgData.objects.filter(
data_type=DataTypeEnum.GITHUB
).values_list('id', flat=True)
result = OrgCollector.objects.filter(org_data_id__in=org_data_ids)
要么
# If the above one is creating duplicate results
result = OrgCollector.objects.filter(org_data_id__in=org_data_ids).distinct()
uj5u.com熱心網友回復:
在列舉型別中,它不是與字串匹配,而是與列舉型別匹配。
試試這個查詢
OrgCollector.objects.filter(
org_data=OrgData.objects.filter(
data_type=DataTypeEnum.GITHUB.value
))
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/440197.html
標籤:django
上一篇:如何處理舊資料遷移中的缺失列?
