反转._meta以获得反向FK类

时间:2014-08-25 23:33:01

标签: python django django-models

如果我有课,要获得FK课程,我可以这样做:

MasterModel = Model._meta.get_field('master').rel.to

鉴于MasterModel,我如何获得反向FK?类似的东西:

Model = MasterModel.???

目前,为了解决这个问题,我正在做:

    if item_type == 'TV Episode' or item_type == 'Movie':
        InstanceModel = Catalog
    elif item_type == 'TV Season':
        InstanceModel = CollectionInstance
    elif item_type == 'TV Series':
        InstanceModel = TVSeriesInstance

1 个答案:

答案 0 :(得分:1)

我使用_meta.get_related_objects()来检索反向fk关系。 例如:

   for robject in Model._meta.get_all_related_objects():
            if robject is not None:
                q = Q(**{"%s__id" % robject.field.name: Model.objects.get(id=1).id})
                print robject.model.objects.filter(q)