Удаление поля от динамического ModelForm

В ModelForm я имею к полномочиям проверочного пользователя позволить им заполняющий правые стороны поля:

Это определяется как это:

class TitleForm(ModelForm):    
    def __init__(self, user, *args, **kwargs):
        super(TitleForm,self).__init__(*args, **kwargs)            
        choices = ['','----------------']
        # company
        if user.has_perm("myapp.perm_company"): 
            self.fields['company'] = forms.ModelChoiceField(widget=forms.HiddenInput(),
                queryset=Company.objects.all(), required=False) 
            choices.append(1,'Company')
        # association
        if user.has_perm("myapp.perm_association")
            self.fields['association'] =
            forms.ModelChoiceField(widget=forms.HiddenInput(),
                queryset=Association.objects.all(), required=False)
            choices.append(2,'Association')
        # choices
        self.fields['type_resource'] = forms.ChoiceField(choices = choices)

    class Meta:
        Model = Title  

Этот ModelForm делает работу: я скрываю каждое поле на шаблоне и делаю их появляющийся благодаря JavaScript...
Проблемой является этот ModelForm, то, что каждое поле, определенное в модели, будет отображено на шаблоне.
Я хотел бы удалить их из формы, если они не нужны:
exemple: если пользователь не будет иметь никакого права на модели Company, то она не будет использоваться это в представленной форме в шаблоне.

Проблема этого - Вы, должны поместить список полей в Метаклассе формы с полями или исключить атрибут, но я не знаю, как управлять ими динамично.

Какая-либо идея??
Спасибо усовершенствованием для любого ответа.

5
задан Jérôme Pigeot 25 March 2010 в 10:48
поделиться