django - Setting all serializer fields to be required -


i have next serializers:

class addressserializer(serializers.modelserializer):     class meta:         model = address  class clientserializer(serializers.modelserializer):   address = addressserializer()   class meta:     model = client     fields = ('id', 'email', 'address') 

the models:

class address(models.model):     street = models.charfield(max_length=50, default='')     zip = models.charfield(max_length=5, default='')     state = models.charfield(max_length=50, choices=states ,default='')     suburb = models.charfield(max_length=50, default='')     num = models.charfield(max_length=7, blank=true, default='')     country = models.charfield(max_length=50, default='')     ref = models.charfield(max_length=120, blank=true)  class client(models.model):     address = models.onetoonefield(address, null=true)     email = models.emailfield(unique=true, default='') 

the expected behaviour have addressserializer fields required, that's not case

when check options in client list api view address this:

"address": {     "type": "field",     "required": true,     "read_only": false,     "label": "address" } 

but when check address list api view fields optional:

"street": {     "type": "string",     "required": false,     "read_only": false,     "label": "street",     "max_length": 50 }, "state": {     "type": "string",     "required": false,     "read_only": false,     "label": "state",     "max_length": 50 }, "zip": {     "type": "string",     "required": false,     "read_only": false,     "label": "zip",     "max_length": 5 }, 

why fields supposed required not?

how can set fields required preferably without using extra_kwargs argument?

if model_field.has_default() or model_field.blank or model_field.null:     kwargs['required'] = false 

the above excerpt drf 3.1.2 source showing how required attribute of auto-generated serializer field of modelserializer determined.

what have observed design. if want auto-generated serializer field have required = true attribute, corresponding model field must neither have default value nor accept blank nor accept null.


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -