drf 序列化的写法 总结
总结drf序列化 重点
class Ship2Serializers(serializers.ModelSerializer):
# gunss = serializers.CharField(source='get_guns_display')
# user = serializers.CharField(source='user.name')
# locations = serializers.CharField(source='location.title')
# boatstatus = serializers.CharField(source='boat_status.title')
status = serializers.CharField(source='get_status_display')
display = serializers.CharField(source='get_display_display')
class Meta:
model = models.Ship
fields = '__all__'
read_only_fields = ('id','user','boat_status','status','display')
使用source=“get_status_display”可以取出choice中的字段。
如果已经使用 read_only_fields = ('id','user','boat_status','status','display') 作为只读字段,那么前端传过来这些数据也不会被处理。
也可以加上write_only
extra_kwargs = {
'chinese_name':{'write_only':True}
}
如果自定义了boatstatus字段,且为只读的,则不能。