[Fixed]-Django Rest Framework how to post date field


You can modify your date field in your serializer with a different format (different from the default one, which you are using implicitly).

More info:



from rest_framework import serializers, fields

class EventSerializer(serializers.ModelSerializer):

    date = fields.DateField(input_formats=['%Y-%m-%dT%H:%M:%S.%fZ'])

    class Meta:
        model = Event
        fields = ('id', 'name', 'date')

Note that if you need to parse timestamps other than in UTC (Z at the end of your timestamp), you will need to customize DateField a bit more.

As @nitrovatter mentioned in the comments, the date input formats can also be configured in the settings to affect every serializer by default. For example:

    'DATE_INPUT_FORMATS': ['iso-8601', '%Y-%m-%dT%H:%M:%S.%fZ'],

Leave a comment