我需要获取一组值,在这种情况下,使用values()或values_list()获取LiquorInStore中的外键liquorID,并使用它们按其父ID,Liquor的ID过滤结果并将其返回到网页。
这是观点,我担心我可能没有正确使用变量。
def store(request, store_id=1):
a = Store.objects.get(StoreID=store_id)
b = LiquorInStore.objects.filter(storeID__exact=a).values('liquorID')
args = {}
args['liquors'] = Liquor.objects.filter(id__exact=b)
args['a'] = a
return render(request, 'store.html', args)
以下是模型文件以防万一。
class LiquorInStore(models.Model):
StoreLiquorID = models.AutoField(primary_key=True)
liquorID = models.ForeignKey(Liquor)
storeID = models.ForeignKey(Store)
StorePrice = models.DecimalField('Store Price', max_digits=5, decimal_places=2)
答案 0 :(得分:1)
这样做:
b = LiquorInStore.objects.filter(storeID__id=a.id).values_list('liquorID', flat=True)
args['liquors'] = Liquor.objects.filter(id__in=b)