sql >> Database >  >> RDS >> Mysql

Vraag wanneer parameter geen is django

Ik weet niet of ik je vraag begrijp, maar

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

geeft je de queryset, waarbij de y kolom is niet-null (IS NOT NULL ).

Hier is de relevante documentatie.

EDIT:Controleer of y Geen is en bouw uw queryset dynamisch op:

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)
...

Als er te veel argumenten zijn om op te lossen, zou je zoiets als dit kunnen gebruiken; ervan uitgaande dat x , y , z worden opgeslagen in een woordenboek 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. mysqldump back-up en herstel naar externe server

  2. Slechte RAC-node opnieuw maken

  3. ORA - 00933 verwarring met inner join en as

  4. Kan geen verbinding maken met RDS-instantie vanuit EC2-instantie