2013-08-24 3 views
1

Мне нужно принять набор значений, в этом случае идентификатор ликвора внешнего ключа в LiquorInStore, полученный со значениями() или values_list(), и использовать их для фильтрации результатов по идентификатору его родительского db, Ликер и вернуть их на веб-страницу.django: фильтр, основанный на значениях

Это мнение, я боюсь, что я не могу правильно использовать переменные.

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) 

ответ

1

Делают это так:

b = LiquorInStore.objects.filter(storeID__id=a.id).values_list('liquorID', flat=True) 
args['liquors'] = Liquor.objects.filter(id__in=b) 
+0

Я буквально только что придумал остроумие такое же решение и собирался отправить его. Благодарю. – RuSs

Смежные вопросы