2017-10-14 34 views
1

我把一個日期時間值我的drf後端。這是我的代碼:django休息400響應時,把日期字段

models.py

class MyModel(models.Model): 
    .... 
    date = models.DateField(blank=true, null=true) 
    ..... 

serializers.py

class MyModelSerializer(ModelSerializer): 
    class Meta: 
     model = MyModel 
     fields = '__all__' 

views.py

class UpdateNRetrieve(RetrieveUpdateAPIView): 
    queryset = MyModel.objects.all() 
    serializer_class = MyModelSerializer 
    lookup_field = 'pk' 

在我的settings.py我有這樣的:

REST_FRAMEWORK = [ 
    ..... 
    'DATE_FORMAT': '%d/%m/%Y', 
    'DATE_INPUT_FORMATS': '%d/%m/%Y', 
    ..... 
] 

而且也是這樣:

LANGUAGE_CODE = 'it-IT' 

TIME_ZONE = 'Europe/Rome' 

USE_I18N = True 

USE_L10N = True 

USE_TZ = True 

當我做從我的前端我得到一個400錯誤(錯誤的請求)PUT請求白衣這個值:

date:"04/12/1984" 

我總是得到這個迴應:

日期格式錯誤。使用這些格式,而不是一個:%d,/,%,M /,%,Y」

我不知道哪裏是我的錯誤

回答

2

DATE_INPUT_FORMATS settings.py中應該是一個列表:

'DATE_INPUT_FORMATS': ['%d/%m/%Y'], 
+0

謝謝!它必須是一個字符串列表,而不是一個字符串! –

2
'DATE_INPUT_FORMATS': '%d/%m/%Y', 

是U相信這關鍵需要一個字符串,而不是一個列表

documentation

應該在默認情況下用於解析輸入一起使用的格式字符串列表

+0

你說得對!謝謝! –