[英]How to weave ( join alternating elements ) several Django QuerySets
[英]How to find the elements inside the QuerySets
如果我有兩個模型:
Model_1.objects.all()
Model_2.objects.all()
Model_1 包含所有元素,Model_2 包含這些元素的一部分。
如何找到 Model_1 中包含但 Model_2 中不包含的元素?
我試過了:
Model_1.objects.exclude(pk=Model_2.objects.order_by('pk'))
它不起作用。
通常,2 個模型代表兩個不同的實體。 但是,如果您想根據 Model_2 的某些屬性過濾 Model_1,請根據您的要求使用排除和過濾。
Model_1.objects.exclude(id__in=Model_2.objects.all()) Model_1.objects.filter(id__in=Model_2.objects.all())
您可以in [Django doc.]
中使用,例如:
Model_1.objects.exclude(pk__in=[obj.pk for obj in Model_2.objects.all()])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.