Django 1.8. У меня есть модель:Django admin поля полей атрибутов переопределяют
class Location(models.Model):
address = models.CharField(max_length=65)
annotation = models.CharField(
max_length=80, verbose_name='Additional info', blank=True, null=True,
help_text='e.g. officce 412, 4 floor')
И у меня есть задача, чтобы расширить поле ввода формы немного для Location
в admin.py
. Я сделал это с помощью:
class LocationAdminForm(forms.ModelForm):
annotation = forms.CharField(
widget=forms.widgets.TextInput(attrs={'size': 70}))
и здесь я потерял verboose_name
, blank=True
и help_text
в виде администратора. Я могу исправить эту проблему:
class LocationAdminForm(forms.ModelForm):
annotation = forms.CharField(
required=not Location._meta.get_field('annotation').blank,
label=Location._meta.get_field('annotation').verbose_name,
help_text=Location._meta.get_field('annotation').help_text,
widget=forms.widgets.TextInput(attrs={'size': 70}))
, но этот вариант выглядит так некрасиво ... Есть ли какие-либо другие варианты здесь?
Вы могли бы написать функцию-обертку, возвращающий поля, которые вы хотите. Например: http://stackoverflow.com/questions/3647805/get-models-fields-in-django – steph
согласен - это не приятно, но я оставил его в своем коде, это только поле в форме :) –
@steph обертка может быть вариантом, спасибо. – valex