from rest_framework.serializers import ModelSerializer from .models import Project, Realty, BuildingClassfication, ConstructionType, Order, Stage from common.serializers import LocationSerializer from specializations.serializers import SpecializationSerializer from users.serializers import UserSerializer class BuildingClassficationSerializer(ModelSerializer): class Meta: model = BuildingClassfication fields = ( 'id', 'name', ) class ConstructionTypeSerializer(ModelSerializer): class Meta: model = ConstructionType fields = ( 'id', 'name', ) class RealtySerializer(ModelSerializer): building_classification = BuildingClassficationSerializer() construction_type = ConstructionTypeSerializer() location = LocationSerializer() user = UserSerializer() class Meta: model = Realty fields = ( 'building_classification', 'construction_type', 'id', 'location', 'name', 'user', ) class OrderSerializer(ModelSerializer): class Meta: model = Order fields = ( 'id', 'contractor', 'created', 'project', 'secure', 'status', ) class StageSerializer(ModelSerializer): # order = OrderSerializer() class Meta: model = Stage fields = ( 'id', 'cost', 'cost_type', 'term', 'term_type', 'name', 'order', 'result', 'pos', 'status', 'is_paid', ) # def update(self, inst, validated_data): # import code; code.interact(local=dict(globals(), **locals())) # inst.id = validated_data.get('id',inst.id) # inst.name = validated_data.get('name', inst.name) # inst.cost = validated_data.get('cost', inst.cost) # inst.order = validated_data.get('order', inst.order) # inst.result = validated_data.get('result', inst.result) # inst.save() # return inst class ProjectSerializer(ModelSerializer): customer = UserSerializer() specialization = SpecializationSerializer() realty = RealtySerializer() class Meta: model = Project fields = ( 'budget', 'budget_by_agreement', 'created', 'cro', 'currency', 'customer', 'deal_type', 'id', 'name', 'price_and_term_required', 'realty', 'specialization', 'state', 'term', 'term_type', 'text', 'work_type', )