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]))
Другие вопросы по тегам