API базы данных django для использования где значение в предложении <> для строк
При использовании django необходимо вернуть набор запросов, где значения должны быть в переменных IN p1 и p2:
p1 = 's'
p2 = 't'
formset_OK=pocketTransactionFormset(queryset=Pockets.objects.filter(pocket_owner=request.user).extra(where=['pocket_name=%s'], params=[p1]))
приведенный выше код с formset_OK работает, но тогда он приведет только к 1 значению, т. е. я хочу иметь значения, используя предложение IN SQL, поэтому я попробовал приведенный ниже код, но он не работает и не выдает ошибку, нет такого столбца: s:
formset_NOTOK =pocketTransactionFormset(queryset=Pockets.objects.filter(pocket_owner=request.user).extra(where=['pocket_name IN (s,t)']))
В документации Django сказано, что
Entry.objects.extra(where=['id IN (3, 4, 5, 20)'])
равно
SELECT * FROM blog_entry WHERE id IN (3, 4, 5, 20);
но, кажется, это не так, когда 3,4,5,6 - строки.
Любые советы, как заставить это работать для строк:
1 ответ
Моя ошибка выложила вопрос слишком рано нашел легкий способ справиться с этим используя
formset = pocketTransactionFormset(queryset=Pockets.objects.filter(pocket_owner=request.user).filter(pocket_name__in=[p1,p2]))