serializer.py 1.0 KB

1234567891011121314151617181920212223242526272829
  1. from rest_framework import serializers
  2. from .models import Building
  3. class BuildingDetailSerializer(serializers.ModelSerializer):
  4. area_name = serializers.CharField(source='area.name', read_only=True)
  5. class Meta:
  6. model = Building
  7. fields = ('id', 'area_name', 'building', 'floor', 'location')
  8. class BuildingSerializer(serializers.ModelSerializer):
  9. area_name = serializers.CharField(source='area.name', read_only=True)
  10. class Meta:
  11. model = Building
  12. fields = '__all__'
  13. def create(self, validated_data):
  14. validated_data['area_id'] = self.context['request'].data['area']
  15. validated_data['create_user'] = self.context['request'].user
  16. instance = super(BuildingSerializer, self).create(validated_data)
  17. return instance
  18. def update(self, instance, validated_data):
  19. validated_data['area_id'] = self.context['request'].data['area']
  20. instance = super(BuildingSerializer, self).update(instance, validated_data)
  21. return instance