Model 更改日期时间格式django rest框架
我想在django rest框架中更改日期时间格式 我实现了一个逻辑,但它不能满足我的要求 模型Model 更改日期时间格式django rest框架,model,django-rest-framework,Model,Django Rest Framework,我想在django rest框架中更改日期时间格式 我实现了一个逻辑,但它不能满足我的要求 模型 class User (models.Model): user_id = models.AutoField(primary_key=True) user_name = models.CharField(max_length=150) created_at = models.DateTimeField() setting.py文件我已经定义了日期时间格式 REST_FRAME
class User (models.Model):
user_id = models.AutoField(primary_key=True)
user_name = models.CharField(max_length=150)
created_at = models.DateTimeField()
setting.py文件我已经定义了日期时间格式
REST_FRAMEWORK = {
'DATETIME_FORMAT': "%m/%d/%Y %H:%M:%S",
}
质疑
data = User.objects.filter(pk=51)
serializer = UserSerializer(data, many=True)
序列化程序数据后的结果
{
"user_id": 41406,
"user_name": "abc@gmail.com",
"created_at": "09/26/2016 22:52:16",
}
现在,当我点击另一个模型时,datetime格式也与“09/26/2016 22:52:16”相同,但我不希望在Antor模型中使用此日期格式
请告知我是否可以更改特定的模型日期时间格式并在序列化程序中调用它您可以在需要不同日期输出的模型序列化程序中重写
to_表示法
方法:
class UserSerializer(serializers.ModelSerializer):
...
def to_representation(self, instance):
representation = super(UserSerializer, self).to_representation(instance)
representation['created_at'] = instance.created_at.strftime(<your format string>)
return representation
这在设置.py中对我有效:
REST_FRAMEWORK = {
'DATE_INPUT_FORMATS': ["%d-%m-%Y", ],
...}
@图钉小偷它只是一个字符串来替换为您想要的格式。我将它作为clarityFormat字符串的注释,可以类似于format=“%Y-%m-%dT%H:%m:%S”
REST_FRAMEWORK = {
'DATE_INPUT_FORMATS': ["%d-%m-%Y", ],
...}