1

この場合、values() または values_list() で取得された LiquorInStore の外部キー LiquorID を取得し、それらを使用して、親データベース Liquor の ID で結果をフィルタリングし、それらを Web ページに返します。

これがビューです。変数を正しく使用していないのではないかと心配しています。

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)
4

1 に答える 1

1

次のようにします。

b = LiquorInStore.objects.filter(storeID__id=a.id).values_list('liquorID', flat=True)
args['liquors'] = Liquor.objects.filter(id__in=b)
于 2013-08-24T19:45:51.943 に答える