这是我的模特
class modelTest(models.Model):
created_at = models.DateTimeField(auto_now_add=True,blank=True,null=True)
updated_at = models.DateTimeField(auto_now=True,blank=True,null=True)
imageA = models.ImageField(upload_to='images/', default='',null=True)
这是相关的序列化程序
class Serializer_Job_TX(serializers.ModelSerializer):
class Meta:
model = modelTest
fields = [
'created_at',
'updated_at',
'imageA',
]
如何确保在日期时间字段发生序列化时,它只输出日期而不是时间?任何建议
答案 0 :(得分:1)
覆盖序列化程序中的created_at
和updated_at
属性。这样您就可以使用format
选项定义自己的格式。别忘了添加read_only=True
。否则,在向模型添加数据时,您将收到错误消息("这些字段是必需的")。
class Serializer_Job_TX(serializers.ModelSerializer):
created_at = serializers.DateTimeField(read_only=True, format="%Y-%m-%d")
updated_at = serializers.DateTimeField(read_only=True, format="%Y-%m-%d")
class Meta:
model = modelTest
fields = [
'created_at',
'updated_at',
'imageA',
]