Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie, gdy parametr nie ma wartości django

Nie wiem, czy otrzymam Twoje pytanie, ale

Model.objects.filter(x=x, y__isnull = False, z=z)

daje zestaw zapytań, gdzie y kolumna nie ma wartości NULL (IS NOT NULL ).

Oto odpowiednią dokumentację.

EDYCJA:Sprawdź, czy y to None i zbuduj swój zestaw zapytań dynamicznie:

if y is None:
    qs = Model.objects.filter(x=x).filter(z=z)
elif z is None:
    qs = Model.objects.filter(x=x).filter(y=y)
...

Jeśli jest zbyt wiele argumentów do rozwiązania, możesz użyć czegoś takiego; zakładając, że x , y , z są przechowywane w słowniku your values :

your_values = { 'x' : 'x value', 'y' : 'y value', 'z' : 'value'}
arguments = {}
for k, v in your_values.items():
    if v:
        arguments[k] = v

Model.objects.filter(**arguments)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy jest to bezpieczna metoda wstawiania danych formularza do bazy danych MySQL?

  2. Łączysz się z bazą danych z rozszerzenia Chrome?

  3. Dlaczego niektóre połączenia mysql wybierają stare dane do bazy mysql po usunięciu + wstawieniu?

  4. POKAŻ TABELE w MySQL

  5. Jak połączyć się z MySQL za pomocą Perla?