Django rest framework datetime field format Django rest framework datetime field format django django

Django rest framework datetime field format


You can specify a format parameter to the ordered_date field having value as a string representing the output format.

ordered_date = serializers.DateTimeField(format="%Y-%m-%dT%H:%M:%S", required=False, read_only=True)

For example:

In [1]: from rest_framework import  serializersIn [2]: from datetime import datetimeIn [3]: class XYZSerializer(serializers.Serializer): # define a serializer with a datetime field   ...:     ordered_date = serializers.DateTimeField(format="%Y-%m-%dT%H:%M:%S")   ...:    In [4]: x = XYZSerializer(data={'ordered_date':datetime.now()})In [5]: x.is_valid()Out[5]: TrueIn [6]: x.data # contains the datetime field in the desired formatOut[6]: OrderedDict([('ordered_date', '2015-10-22T18:17:51')])


Thanks to @Red-Tune-84's commentI customize the format of all my datetimefields.

REST_FRAMEWORK = {    'DATETIME_FORMAT': "%Y-%m-%d %H:%M:%S",    ....}