1. 程式人生 > 程式設計 >django rest framework serializer返回時間自動格式化方法

django rest framework serializer返回時間自動格式化方法

django的時間是

models

# models
create_time = models.DateTimeField(blank=True,auto_now_add=True,null=True)

這是一個DateTimeField

我想返回的時候,直接格式化好

那就在

xxxSerializer(serializers.ModelSerializer):
 create_time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S",required=False,read_only=True)
 
 class Meta:
  model = xxx
  fields = '__all__'

補充知識:Django 解決不修改models的情況下,通過修改serializers,返回自己想要的欄位

在專案中,我遇到這麼個問題, 就是需要返回給使用者的叫做foodId, 但是我資料庫裡面是_id,因為返回給使用者的欄位非常多,我又不想單獨做修改,於是嘗試了再serializer裡面修改,具體實現是

foodId = serializers.StringRelatedField(source='_id',read_only=True)

非常簡單,用source指向原models裡面的欄位,在fields裡面顯示,就可以完成了

 class Meta:
  model = Food
  fields = ('foodId',‘foodName')

就是這麼簡單。

以上這篇django rest framework serializer返回時間自動格式化方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。