django的serializer序列化model

Model的内容由于格式的原因,不能直接返回给前端,所有需要进行标准的、统一的序列化处理。

 

class ProjectSerializer(serializers.ModelSerializer):
     tester_charge = serializers.CharField(max_length=100, required=True)
    product_manager = serializers.CharField(max_length=100, required=True)
    project_description = serializers.CharField(max_length=200, allow_null=True, allow_blank=True)
 
    class Meta:
        model = models.ProjectInformation
        fields = "__all__"
 
    def to_representation(self, instance):
        data = super().to_representation(instance)
        create_time, update_time = data.get('create_time'), data.get("update_time")
        create_time_stamp = time.mktime(time.strptime(create_time, "%Y-%m-%d %H:%M:%S"))
        update_time_stamp = time.mktime(time.strptime(update_time, "%Y-%m-%d %H:%M:%S"))
        data.update({"create_time": create_time_stamp, "update_time": update_time_stamp})
        return data

 此外,对某个信息就行修改可以:

def get_tester_charge(self, obj): 
    return obj.created_time.strftime("%Y-%m-%d %H:%M:%S")

 

参考:

1、https://www.cnblogs.com/SunshineKimi/p/14850530.html
2、https://learnku.com/docs/python-learning/serializer-serializer/10886#cd8992

posted on 2021-08-27 09:01  星星眨着眼  阅读(185)  评论(0编辑  收藏  举报

导航