簡體   English   中英

從父查詢集中檢索 prefetch_related 對象的平面查詢集

[英]Retrieve a flat Queryset of prefetch_related objects from a parent queryset

如果我有這樣的模型:

class A(models.Model):
  ...


class B(models.Model):
  a = models.ForeignKey(A)


class C(models.Model): 
  b = models..ForeignKey(B)

我可以獲得完整的查詢集:

qs = A.objects.all().prefetch_related('b_set', 'b_set__c_set')
>> <QuerySet [<A: A object (1)>, <A: A object (2)>, ... ]>

我想知道有沒有一種方法可以在扁平查詢集中獲取所有C對象,例如:

qs['b_set__c_set']
>> <QuerySet [<C: C object (1)>, <C: C object (2)>, ... ]>

您可以對 C 模型進行查詢,只檢查所有具有a值的 C? 所以

C.objects.filter(b__is_null=False, b__a__isnull=False)

這會實現你想要的嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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