Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
To repozytorium jest zarchiwizowane. Możesz wyświetlać pliki i je sklonować, ale nie możesz do niego przepychać zmian lub otwierać zgłoszeń/Pull Requestów.

29 wiersze
933 B

  1. from rest_framework import serializers
  2. from common.serializers import BankDetailsSerializer, AddressSerializer
  3. from .models import Employee,Role
  4. from common.models import BankDetails, Address
  5. class EmployeeSerializer(serializers.ModelSerializer):
  6. bank_details = BankDetailsSerializer()
  7. address = AddressSerializer()
  8. class Meta:
  9. model = Employee
  10. fields = '__all__'
  11. def create(self, validated_data):
  12. bank_details_data = validated_data.pop('bank_details')
  13. address_data = validated_data.pop('address')
  14. bank_details = BankDetails.objects.create(**bank_details_data)
  15. address = Address.objects.create(**address_data)
  16. employee = Employee.objects.create(bank_details=bank_details, address=address, **validated_data)
  17. return employee
  18. class RoleSerializer(serializers.ModelSerializer):
  19. class Meta:
  20. model = Role
  21. fields = '__all__'