Как работать с 2 или более связанными таблицами в запросе Post
У меня есть 3 таблицы: Employee (доступ для постоянных пользователей) CustomUser (доступ только для администраторов) Departament (доступ для постоянных пользователей) У меня есть представление с react, где хранятся пользователи (только администраторы могут войти)
У меня есть другое представление для хранения сотрудников Сотрудники (администраторы и обычные пользователи могут вводить данные)
Проблема в том, что я не знаю, как манипулировать 3 таблицами в одном запросе
В этом представлении стандартный пользователь может зарегистрировать в одном запросе данные этих 3 таблиц
EndPoints
domainapp.com/dashboard/users/
domainapp.com/dashboard/employees/
Логика сотрудника
from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
from .models import Employee
from .serializer import EmployeeSerializer, DepartamentSerializer
# Employee Logic
class EmployeeList(APIView):
def get(self, request, format=None):
employees = Employee.objects.all()[:99]
serialized_users = EmployeeSerializer(employees, many=True)
return Response(serialized_users.data, status=status.HTTP_200_OK)
class EmployerRegister(APIView):
def post(self, request):
# save all fields all tables
serialized_user = EmployeeSerializer(data=request.data)
serialized_employee = EmployeeSerializer(data=request.data)
serialized_departament = DepartamentSerializer(data=request.data)
if serialized_user.is_valid() and serialized_employee.is_valid(
) and serialized_departament.is_valid():
# this is wrong?
serialized_user.save()
serialized_employee(serialized_user)
serialized_employee.save()
serialized_departament(serialized_user)
serialized_departament.save()
return Response(serialized_user.data,
status=status.HTTP_201_CREATED)
return Response(serialized_user.errors)