Найти - Пользователи
Полная версия: фильтры джанго
Начало » Django » фильтры джанго
1
kristus
ТАкая проблема!есть список со значениями фильтров,когда составляю выражение из этих значений получается str тип и имя.objects.filter(str) не хавает его.как этот str перевести в <class ‘django.db.models.query_utils.Q’>?
for i in range(0, len(b)) :
    st0 = "|"
    if i != (len(b) - 1) :
        st = "Q" + "(" + "Machine" + "=" + "'" +str(b[i]) + "'" + ")" + st0 
    else : 
        st = "Q" + "(" + "Machine" + "=" + "'" +str(b[i]) + "'" + ")" 
    st2.append(st)    
 st2 =  Q(Machine='Lancelot')|Q(Machine='Guinevere')
data = serializers.serialize("json", History.objects.filter(st2)) # здесь str (st2) не проходит
Или может кто-нибудь знает как сделать множественную выборку по-другому!
спасибо!
FishHook
filters=[Q(Machine=i) for i in b]
q=Q()
for filter in filters:
   q | = filter
    
history=History.objects.filter(q)
Следующий свой вопрос по Django задавайте сюда
kristus
Spasibo!
reclosedev
Кстати, в данном случае возможно подойдет __in:
History.objects.filter(Machine__in=b)
kristus
До ответов, реализовал так:
for i in b :
    data  = serializers.serialize("json", History.objects.filter(sets = i))
    data2 = json.loads(data)
    k.append(data2)
не рационально,конечно но…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB