Подскажите как объединить несколько фильтров в django?
Если просто написать руками, то выглядит так:
bbs = Bd.objects.filter(par1=pk1).filter(par2=pk2)
Сделать следующее:
filter1 и filter2 должны заполняться если pk1 и pk2 != 0
Т.е. если pk2 !=0 то:
bbs = Bd.objects.filter(par1=pk1)
Если pk1!=0 то:
bbs = Bd.objects.filter(par2=pk2)
Сделал так:
if pk1!= 0:
fp = '.filter(prepod='
filter_par1 = f'.filter(par1={pk1})'
bbs = f'Bd.objects.filter(par1={pk1})'
При выполнении ошибка:
Reverse for 'by_par' with arguments '('',)' not found. 1 pattern(s) tried: ['zoom/pr/(?P[0-9]+)/$']
Т.е. цифру из pk1 он преобразует в строку. Правильно?
Как мне ее в int перевести при передаче.
Спасибо!