Do not request the db at loading time

Modify choices in the constructor of the AttributeReleaselineForm class.
This commit is contained in:
Benjamin Dauvergne 2015-03-12 18:38:34 +01:00
parent 9b7d3cec1b
commit ffeda43234
1 changed files with 10 additions and 6 deletions

View File

@ -12,14 +12,18 @@ class WebServiceAdmin(admin.ModelAdmin):
prepopulated_fields = {'slug': ('name',)}
class AttributeReleaselineForm(forms.ModelForm):
class Meta:
def choices(ctx):
return [('', _('None'))] + get_attribute_names(ctx)
def __init__(self, *args, **kwargs):
super(AttributeReleaselineForm, self).__init__(*args, **kwargs)
choices = self.choices({'user': None, 'request': None})
self.fields['attribute_name'].choices = choices
self.fields['attribute_name'].widget = forms.Select(choices=choices)
@to_iter
def choices(self, ctx):
return [('', _('None'))] + get_attribute_names(ctx)
class Meta:
model = models.AttributeRelease
widgets = {
'attribute_name': forms.Select(choices=to_iter(choices)({'user': None, 'request': None}))
}
class AttributeReleaseInline(admin.TabularInline):
model = models.AttributeRelease