سؤال

لديّ مستخدمي التطبيقات والمشاريع وأرغب في تحديد تطبيق آخر يسمى أدوار لتوسيع Django-Auth على أساس لكل مشروع.

لقد حددت ProjectMembership في تطبيق الأدوار كنموذج علاقات مخصص في ManyTomany. ولكن كيف يمكنني تحديد حقل M2M في نموذج المستخدم أو المشروع مع through إعلان؟

لذا ، هل يمكن أن نحدد حقل النموذج من تطبيق آخر؟

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

المحلول

لا أعتقد أن هذا ممكن ، وحتى إذا كان ذلك ممكنًا ، فهذا في رأيي حلًا سيئًا للغاية.

أعتقد أن أفضل خيارك هو إنشاء نموذج ProjectMembership مع اثنين من FK ، واحد للمستخدم والآخر للمشروع. ثم لديك ملف كتيب علاقة M2M ، ولا يمكنك استخدام جميع ميزات Django اللطيفة للعمل مع علاقات M2M.

ومع ذلك ، إذا كنت تريد هذه الميزات (غير مطلوبة) ، فيجب عليك تعديل المستخدم أو نموذج المشروع.

نصائح أخرى

نعم يمكنك ذلك ، سيقوم Django تلقائيًا بإنشاء العلاقة العكسية لك. يستخدم related_name لإعطائه اسم!

تعديل (تصحيح النقود) User النموذج ليس فكرة جيدة. إذا كنت تريد تمديدها ، فقم بذلك إما عبر:

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