从父查询集中检索prefetch_related对象的平面查询集

时间:2020-02-05 17:02:38

标签: python django django-models django-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)>, ... ]>

1 个答案:

答案 0 :(得分:1)

您可以对C模型进行查询,仅检查具有var clientID = "93733604-cc77-4a3c-a604-87084dd55348"; var b2cDomainHost = "fabrikamb2c.b2clogin.com"; var tenantIdGuid = "775527ff-9a37-4307-8b3d-cc311f58d925"; var policyName = "B2C_1_SUSI"; var options = { identityMetadata: "https://" + b2cDomainHost + "/" + tenantIdGuid + "/" + policyName + "/v2.0/.well-known/openid-configuration/", clientID: clientID, policyName: policyName, isB2C: true, validateIssuer: false, loggingLevel: 'info', loggingNoPII: false, passReqToCallback: false }; 值的所有C?所以

a

能满足您的需求吗?