Django: Subclassing BaseModelFormSet seems to be ignored
===

I have a special case where the users should be able to change the status of the deal, but not the `deal_type`. Therefore I thought I change the widget of the dropdown into a text field.

Hence I would like to override deal_type's widget in my formset and I subclassed `BaseModelFormSet` and passed that in as a parameter to the factory:

    deal_formset = modelformset_factory(Deal, formset=BaseDealFormSet, fields = {'status', 'deal_type'}, extra=0)


    class Deal(models.Model):
        deal_id             = UUIDField()
        status              = models.ForeignKey(DealStatus)    
        deal_type           = models.ForeignKey(DealType)    


    class BaseDealFormSet(BaseModelFormSet):    
        deal_type        = forms.CharField(max_length=30, widget=forms.TextInput(  attrs={'readonly': 'True'}))    
        
        def clean_deal_type(self):
            return self.instance.deal_type

However in the template `{{fs.deal_type}}` the widget is still shown as a dropdown and not a textfield.

I am not even sure, if this would exactly work as I intended , that is seeing the selected value of the dropdown as a textfield. But at least I should see a change of the widget, right? But it seems it is completely ignored.  

What am I missing? Thanks,

