मेरे पास मेरे मॉड्यूल में एक फ़ील्ड है जिसका उपयोग ऑब्जेक्ट की स्थिति को पकड़ने के लिए किया जाता है। अब तक मैं का इस्तेमाल किया है:Django: मॉड्यूल में "स्थिति" फ़ील्ड को लागू करने का सबसे अच्छा तरीका
ORDER_STATUS = ((0, 'Started'), (1, 'Done'), (2, 'Error'))
status = models.SmallIntegerField(choices=ORDER_STATUS)
इसके कन्वर्ट करने के लिए आसान एक ही रास्ता:
def status_str(self): return ORDER_STATUS[self.status][1]
समस्या है जब अद्यतन करने है। मुझे अपने आप को इस तरह का कोड मिल रहा है:
order.status = 2 # Error Status
जो काफी भयानक है और सिंक्रनाइज़ करने के लिए वास्तव में कठिन हो जाता है। मुझे लगता है कि एक समाधान सी के enum {} के समान कुछ होगा। या शायद इस समस्या से निपटने के लिए एक अलग तरीका है?
धन्यवाद
संभव डुप्लिकेट [विकल्पों के द्वारा सेट Django IntegerField = ... नाम] (http://stackoverflow.com/questions/1117564/set-django-integerfield-by-choices-name) –