Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्वेरी जब पैरामीटर कोई नहीं है django

मुझे नहीं पता, अगर मुझे आपका प्रश्न मिलता है, लेकिन

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

आपको क्वेरीसेट देता है, जहां y कॉलम गैर-शून्य है (IS NOT NULL )।

यहां प्रासंगिक दस्तावेज।

संपादित करें:जांचें कि क्या y कोई नहीं है और गतिशील रूप से अपना क्वेरीसेट बनाएं:

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

यदि निपटने के लिए बहुत सारे तर्क हैं, तो आप कुछ इस तरह का उपयोग कर सकते हैं; यह मानते हुए कि x , y , z शब्दकोश में संग्रहीत हैं 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. मैक पर Rails3 के साथ mysql2 मणि ​​स्थापित करने में समस्या

  2. एक प्रभावी और आसान तरीके से पदानुक्रम, माता-पिता/बच्चे के रिश्ते को प्राप्त करें

  3. MySQL कनेक्टर त्रुटि सर्वर समय क्षेत्र मान मध्य यूरोपीय समय

  4. MySQL के साथ Oracle JDeveloper Snippets का उपयोग करना

  5. MYSQL - 66 KBytes की पंक्ति आकार सीमा को कैसे हल करें