serializer.is_valid () falla aunque `required = False` – Django REST Framework

Tengo un serializador como tal:

class DataSetColumnSerializer(serializers.ModelSerializer): custom_target = serializers.PrimaryKeyRelatedField(required=False) class Meta: model = dataset_models.DataSetColumn 

Todavía:

 ipdb> columns[0] {u'display_name': u'guid', u'name': u'guid', u'data_type': u'STRING', u'custom_target': None, u'ignore': False, u'is_identifier': False, u'order': 1} ipdb> serializer.is_valid() False ipdb> serializer.errors [{'custom_target': [u'This field cannot be blank.']}, {'custom_target': [u'This field cannot be blank.']}, {'custom_target': [u'This field cannot be blank.']}, {'custom_target': [u'This field cannot be blank.']}, {'custom_target': [u'This field cannot be blank.']}, {'custom_target': [u'This field cannot be blank.']}, {'custom_target': [u'This field cannot be blank.']}, {'custom_target': [u'This field cannot be blank.']}] ipdb> serializer.fields['custom_target'].required False 

¿Que esta pasando?

De los documentos:

Nota: cuando la validación se aplica a un ModelSerializer, tanto los campos del serializador como los campos correspondientes del modelo deben validarse correctamente. Si tiene campos opcionales en su modelo, asegúrese de configurar correctamente blank = True en el campo del modelo, así como la configuración requerida = False en el campo del serializador.

enlace a documentos