我是Django DRF的新手,我需要一个小技巧。我的问题:我想将标准模型model.DateField更改为以下格式“%d-%m-%Y”。我想在“生日”字段中或一般在项目中使用它。
我在model.py中尝试使用Directlty:
... 生日= models.DateField(null = True,input_formats =“%d-%m-%Y”)),但它不起作用。 ....
我还添加了setting.py
REST_FRAMEWORK = {“ DATE_INPUT_FORMATS”:[“%d-%m-%Y”],},但是它不起作用。
现在我想在serializer.py中尝试,但是鉴于我的班级,我不知道该在哪里做。 我的serializer.py看起来像这样:
from rest_framework import serializers
from payload.models import Payload
class PayloadSerializer(serializers.ModelSerializer):
class Meta:
model = Payload
fields = ['first_name', 'last_name', 'email', 'birthday',]
def create(self, validated_data):
"""
Create and return a new `payload` instance, given the validated data.
"""
return Payload.objects.create(**validated_data)
def update(self, instance, validated_data):
"""
Update and return an existing `payload` instance, given the validated data.
"""
instance.first_name = validated_data.get('first_name', instance.first_name)
instance.last_name = validated_data.get('last_name', instance.last_name)
instance.email = validated_data.get('email', instance.email)
instance.birthday = validated_data.get('birthday',instance.birthday)
instance.save()
return instance
因此,问题是:在该班级中,我将在哪里以及如何更改生日字段的格式?
非常感谢您
最佳
Rémi
答案 0 :(得分:1)
将此添加到您的 settings.py
DATE_INPUT_FORMATS = ["%d-%m-%Y"]