python - كيف يمكنني برمجياً الحصول على max_length لحقل نموذج Django؟




django-models oop (2)

السؤال يتعلق بالنماذج ، ولكن بالنسبة للأشخاص الذين يحاولون فعل الشيء ذاته بالنسبة للنماذج (هكذا انتهى الأمر في هذا الموضوع) ، أعتقد أن هذا الأسلوب بسيط وواضح:
1. في قالب:
{{form.name.field.max_length}}

2. في رمز python (على سبيل المثال في العرض)
form.name.field.max_length

لنفترض أن لديّ فئة دجانغو كالتالي:

class Person(models.Model):
    name = models.CharField(max_length=50)
    # ...

كيف يمكنني الحصول على قيمة max_length لحقل name برمجي؟


Person._meta.get_field('name').max_length سيمنحك هذه القيمة. ولكن الحاجة إلى استخدام _meta تشير إلى أن هذا شيء لا يجب عليك فعله في الاستخدام العادي.

تعديل: كما أشار كارل ، هذه التسمية مضللة ويبدو أنها مقبولة تمامًا لاستخدامها: http://www.b-list.org/weblog/2007/nov/04/working-models/





oop