سؤال

أريد أن أرث فئة نموذجية من بعض رموز الطرف الثالث.لن أستخدم بعض الحقول ولكني أريد أن يتمكن عميلي من تعديل النموذج في المسؤول.هل أفضل رهان هو إخفاءها عن المشرف أم يمكنني بالفعل منع إنشائها في المقام الأول؟

بالإضافة إلى ذلك - ماذا يمكنني أن أفعل إذا كان أحد الحقول غير المرغوب فيها مطلوبًا؟فكرتي الأولى هي تجاوز طريقة الحفظ ووضع قيمة افتراضية فقط.

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

المحلول

إذا كنت راثة نموذج ومن ثم ربما ليس من الحكمة في محاولة لإخفاء أو تعطيل أي الحقول القائمة. أفضل شيء ربما يمكن القيام به هو بالضبط ما اقترحتم: save() تجاوز والتعامل مع المنطق الخاص هناك.

نصائح أخرى

ويمكنك التحكم في الحقول التي هي قابلة للتحرير في الادارة.

ومن مستندات جانغو:

واضاف "اذا كنت ترغب في شكل لنموذج الكاتب لا تتضمن سوى اسم وعنوان الحقول، يمكنك تحديد الحقول أو استبعاد مثل هذا:

class AuthorAdmin(admin.ModelAdmin):
    fields = ('name', 'title')

class AuthorAdmin(admin.ModelAdmin):
    exclude = ('birth_date',)"

http://docs.djangoproject.com/en/dev/ المرجع / contrib / المشرف /

بدلاً من الوراثة، فكر في استخدام النماذج المخصصة.

  1. يمكنك إزالة الحقول من العرض التي لا تزال موجودة في النموذج.

  2. يمكنك التحقق من صحة القيم الافتراضية وتوفيرها في النموذج clean() طريقة.

يرى http://docs.djangoproject.com/en/dev/ref/contrib/admin/#adding-custom-validation-to-the-admin

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