جانغو: إضافتها يدويا عمود المفتاح الخارجي (newcolumn_id_refs_id_4bfb2ece؟)

StackOverflow https://stackoverflow.com/questions/1405206

سؤال

وأحتاج لإضافة حقل المفتاح الخارجي إلى نموذج جانغو / الجدول بوستجرس القائمة. حسب وثائق جانغو، ركضت "اسم التطبيق sqlall 'الأمر' العمل بها الفرق.

والفرق واضح هو أن الجدول المذكور لديها الآن عمود إضافي مع contraint الجديد، الذي يبدو مثل هذا:

ALTER TABLE "myapp_mytable" ADD CONSTRAINT newcolumn_id_refs_id_4bfb2ece 
FOREIGN KEY ("newcolumn_id") REFERENCES "myapp_theothertable" ("id") 
DEFERRABLE INITIALLY DEFERRED;

وقبل العبث مع قاعدة البيانات الخاصة بي، أريد أن أفهم هذا البيان، على وجه الخصوص، ما لم الجزء الأخير من newcolumn_id_refs_id_4bfb2ece الرجوع إلى؟

شكرا،

ومارتن

هل كانت مفيدة؟

المحلول

وسوف تقدم كيو فهم وتطبيق المفتاح الخارجي إلى الجدول الآخر وضمان أنه لن يكون هناك أي شيء في myapp_table.newcolumn التي لا يمكن العثور عليها في myapp_theothertable.id

في الواقع، فإن التطبيق جانغو الخاص تعمل على ما يرام حتى بدون هذا القيد. ومع ذلك، انها فكرة جيدة ان يكون واحد في مكان، وإذا كنت تفعل بعد ذلك على dumpdata - -cycle loaddata، سيتم إنشاؤه

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top