Код: Выделить всё
class BaseForm(forms.Form):
reportid = forms.HiddenInput()
fromdate = forms.DateField(label=_("From"), widget=widgets.AdminDateWidget())
todate = forms.DateField(label=_("To"), widget=widgets.AdminDateWidget())
sort_by = forms.ChoiceField(label=_("Sort by"), choices=[])
.......
def __init__(self, *args, **kwargs):
fields = kwargs.pop('fields')
#Pseudo:
***del self.fields[field] for field not in fields***
class SubForm(forms.Form):
def __init__(self, *args, **kwargs):
fields = ['reportid', 'todate']
super(SubForm, self).__init__(fields=fields, *args, **kwargs)
Код: Выделить всё
class SubForm(forms.Form):
reportid = forms.HiddenInput()
todate = forms.DateField(label=_("To"), widget=widgets.AdminDateWidget())
Я пришел к решению, используя такой словарь:
Код: Выделить всё
labels = {
'todate': lambda: _("To"),
'fromdate': lambda: _("From"),
.....
}
Код: Выделить всё
self.fields[field].widget.label = labels[field]()
Подробнее здесь: https://stackoverflow.com/questions/759 ... anslations