Django required field in model form

前端 未结 6 1516
栀梦
栀梦 2020-11-29 19:44

I have a form where a couple of fields are coming out as required when I don\'t want them too. Here is the form from models.py

class CircuitForm(ModelForm):
         


        
6条回答
  •  一向
    一向 (楼主)
    2020-11-29 20:11

    Expanding on DataGreed's answer, I created a Mixin that allows you to specify a fields_required variable on the Meta class like this:

    class MyForm(RequiredFieldsMixin, ModelForm):
    
        class Meta:
            model = MyModel
            fields = ['field1', 'field2']
            fields_required = ['field1']
    

    Here it is:

    class RequiredFieldsMixin():
    
        def __init__(self, *args, **kwargs):
    
            super().__init__(*args, **kwargs)
    
            fields_required = getattr(self.Meta, 'fields_required', None)
    
            if fields_required:
                for key in self.fields:
                    if key not in fields_required:
                        self.fields[key].required = False
    

提交回复
热议问题