ChoiceFields मूल्यों के रूप में डेटाबेस में संग्रहीत हैं, इसलिए the documentation से एक उदाहरण लेते हैं:
class Foo(models.Model):
GENDER_CHOICES = (
('M', 'Male'),
('F', 'Female'),
)
gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
इसलिए यदि आप एक दिन उन का नाम बदलने का फैसला डेटाबेस, 'एम' और 'एफ' स्टोर करेगा इस * की तरह:
class Foo(models.Model):
GENDER_CHOICES = (
('M', 'Homme'),
('F', 'Femme'),
)
gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
तो आप कहीं भी विस्तार किया मूल्यों 'पुरुष' या 'महिला' अब 'Homme' होगा या 'फेम' का उपयोग करें।
यदि आप मूल्यों (यानी 'एम' और 'एफ') को स्वयं बदलना चाहते हैं, तो आप डेटाबेस को अपडेट करना चाहते हैं, इसलिए यदि आप 'एम' को 'एच' में बदलना चाहते हैं, तो आप ' घ उपयोग update
:
Foo.objects.filter(gender = 'M').update(gender = 'H')
जब तक आप एक अच्छे कारण के लिए, मैं यह कर रहा से बचने था मिल गया है - जब से तुम GENDER_CHOICES
के लिए अपने परिवर्तन करें और अपने update
क्वेरी यकीन है कि एक साथ किया जाता है बनाने की आवश्यकता होगी।
* और हाँ, मुझे पता है कि यह अनुवाद करने का एक बेवकूफ तरीका है!
स्रोत
2011-11-10 10:15:06