将自定义字段添加到包含源记录的django查询集

时间:2012-11-23 14:24:35

标签: python django

是否可以在django中向查询集添加一个字段,该字段将执行以下操作:

    fitting_set_items_list = FittingSetItem.objects.exclude(fitting_pack = None).exclude(fitting_pack = '').order_by('usage_type')
    fitting_pack_list = FittingPack.objects.filter(fittingsetitem__in=fitting_set_items_list).add_field({'fitting_set_item': fittingsetitem})

这样我可以使用:

for fitting_pack_item in fitting_pack_item_list:
    fitting_set_item = fitting_pack_item.fitting_set_item

并且它首先拥有我来自的FittingSetItem。

总的想法是许多FittingSetItems可以指向FittingPack,所以我希望能够知道我的FittingPack来自哪个FittingSetItem,我看到的最简单的方法是在FittingPack上有反向FK。这将允许我在可能模棱两可的FK关系上前后前进

1 个答案:

答案 0 :(得分:0)

如果FittingSetItem.fitting_packForeignKey

,我认为这就是您所寻求的
fitting_packs = FittingPack.objects.filter(fittingsetitem__fitting_pack__isnull=False)

它获取由设定项链接的装配包。您可以添加.distinct()或将fittingsetitem替换为fitting_set_item