के साथ उपयोग किए जाने पर फ़ील्ड सेट करने में विफल रहता है, जहां मैं संभवतः उपयोगकर्ता दर्ज फ़ील्ड पर डुप्लिकेशंस से बचने के लिए get_or_create के साथ name__iexact
का उपयोग करना चाहता हूं।Django get_or_create IExact
मेरे प्रदाता मॉडल का नाम फ़ील्ड है जिसका उपयोग मैं get_or_create में करता हूं।
देखने ठीक काम करता है, लेकिन जब नीचे (नाम
p1/इमारती लकड़ी उदाहरण के रूप में पहली बार के लिए उदाहरण बनाकर विफल:
>>> p1, c1 = Provider.objects.get_or_create(name__iexact="Timber")
>>> p1, c1
(<Provider: >, True)
>>> p1.name
u''
वर्क्स के रूप में यहाँ की उम्मीद:
>>> p2, c2 = Provider.objects.get_or_create(name="Cedar")
>>> p2.name, c2
('Cedar', True)
>>> p3, c3 = Provider.objects.get_or_create(name__iexact="Cedar")
>>> p3, c3
(<Provider: Cedar>, False)
>>> Provider.objects.get_or_create(name__iexact="cedar")
(<Provider: Cedar>, False)
__iexact
get_or_create
के निर्माण हिस्से के साथ असंगत है, क्या यह अपेक्षित व्यवहार (और क्यों) है, या क्या मैं Django बग में चला गया हूं?
आह। वह अंतिम वाक्य कुंजी है। यहां यह दस्तावेज़ों में है: https://docs.djangoproject.com/en/1.7/ref/models/querysets/#get-or-create 'k के लिए v, v kwargs.items() में अगर '__' में नहीं है k' – owenfi