migrations का उपयोग करके, मुझे मॉडल में एक नया फ़ील्ड (एक विदेशी कुंजी) जोड़ने की आवश्यकता है। मुझे पता है कि इसके साथ किया जा सकता है:Django माइग्रेशन में विदेशी कुंजी के लिए डिफ़ॉल्ट मान। एडफिल्ड
migrations.AddField(
model_name='MyModel',
name='state',
field=models.ForeignKey(null=True, related_name='mymodel_state', to='msqa_common.MyModelState'),
),
हालांकि, मैं नहीं चाहता कि मेरा क्षेत्र शून्य हो। इसके बजाय, मैं इसके लिए एक डिफ़ॉल्ट मान का उपयोग करना चाहता हूं, MyModelState की आईडी के अनुरूप जिसका नाम "उपलब्ध" है (आईडी मान अलग-अलग मशीनों में बदल सकता है)। तालिका का यह "उपलब्ध" मान MyModelState को पिछले माइग्रेशन स्क्रिप्ट में डेटाबेस में डाला गया है, इसलिए यह अस्तित्व में है।
मुझे लगता है मैं कुछ ऐसा करना चाहिए:
migrations.AddField(
model_name='MyModel',
name='state',
field=models.ForeignKey(null=False, default=available_state_id, related_name='mymodel_state', to='msqa_common.MyModelState'),
),
मेरा प्रश्न: मैं अपने प्रवास स्क्रिप्ट के भीतर available_state_id
कैसे मिल सकता है?
धन्यवाद डैनियल। क्या आपको कोई दस्तावेज पता है जहां इस प्रक्रिया को समझाया गया है? – eelioss
https://docs.djangoproject.com/en/1.9/howto/writing-migrations/#migrations-that-add-unique-fields –