पर चयन करने के लिए पीवी सिंटैक्स मैंने इसे हर जगह शोध किया है और मुझे कोई जवाब नहीं मिल रहा है। मुझे उम्मीद है कि मैंने इसे डुप्लिकेट नहीं किया है (क्योंकि यह एसओ पर मेरा पहला सवाल है)।शून्य क्षेत्र
मैं पेवी के साथ एक चुनिंदा क्वेरी लिखने की कोशिश कर रहा हूं जो आमतौर पर जाता है ... जहां foo = NULL; एसक्यूएल दुनिया में।
MySQL इस तरह दिखता है:
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| user | varchar(30) | NO | | NULL | |
| peer | varchar(30) | NO | | NULL | |
| deleted | date | YES | | NULL | |
| confirmed | date | YES | | NULL | |
+-----------+-------------+------+-----+---------+----------------+
मेरे चयन क्वेरी इस तरह दिखता है:
Peers.select().where(Peers.user == 'foo' and Peers.deleted is None)
लेकिन यह काम नहीं करता है! मैंने Peers.deleted == ""
और Peers.deleted == "NULL"
को आजमाया है। MySQL वाक्यविन्यास WHERE deleted is NULL;
में समाप्त होना चाहिए लेकिन पेवी में कुछ भी ऐसा नहीं कर रहा है।
क्या कोई मदद कर सकता है? मैं दस्तावेज़ों से क्या लापता हूं?
फू बार उपयोगकर्ता की टिप्पणी से अपडेट किया गया: and not Peers.deleted
काम नहीं किया, लेकिन इससे मुझे और जानकारी मिली। ऐसा लगता है कि peewee where
क्लॉज एक साथ बंधे चाहता है। तो
Peers.select().where(Peers.user == 'foo' and Peers.deleted is None)
के बजाय यह होना चाहिए:
Peers.select().where(Peers.user == 'foo').where(Peers.deleted is None)
दुःख की बात है कि अभी भी सही वाक्य रचना उपज नहीं है अशक्त पंक्तियों पर चयन करने के लिए नष्ट कर दिया है।
शायद 'और –