簡體   English   中英

如何在 QuerySet 中查找元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM