是否可以在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关系上前后前进
答案 0 :(得分:0)
如果FittingSetItem.fitting_pack
是ForeignKey
fitting_packs = FittingPack.objects.filter(fittingsetitem__fitting_pack__isnull=False)
它获取由设定项链接的装配包。您可以添加.distinct()
或将fittingsetitem
替换为fitting_set_item
。