def put(self, request, *args, **kwargs): # Проверка авторизован ли пользователь if not request.user.is_authenticated: return JsonResponse({ 'Status': False, 'Errors': 'Пользователь не авторизован' }) id = request.data.get('id') if id: try: contact = Contact.objects.get(id=request.data['id'], user=request.user) serializer = ContactSerializer(contact, data=request.data, partial=True) if serializer.is_valid(): serializer.save() return JsonResponse({'Status': True}) else: return JsonResponse({ 'Status': False, 'Errors': serializer.errors }) except Contact.DoesNotExist: return JsonResponse({ 'Status': False, 'Errors': 'Адреса с таким ID не существует' }) else: return JsonResponse({'Status': False, 'Errors': 'Нет ID адреса'})
def post(self, request, *args, **kwargs): errors_dict = {} required_fields = ['city', 'street', 'house', 'phone'] # Проверка авторизован ли пользователь if not request.user.is_authenticated: return JsonResponse({ 'Status': False, 'Errors': 'Пользователь не авторизован' }) # Проверка наличия необходимых аргументов for field_name in required_fields: field = request.data.get(field_name) if not field: errors_dict[field_name] = 'Необходимо заполнить.' # Если словарь с ошибками не пуст, отправляем его if errors_dict: return JsonResponse({'Status': False, 'Errors': errors_dict}) # Добавляем id пользователя в request.data, так как это необходимо для создания контакта request.data._mutable = True request.data.update({'user': request.user.id}) # Создаем контакт serializer = ContactSerializer(data=request.data) if serializer.is_valid(): serializer.save() return JsonResponse({'Status': True}) else: return JsonResponse({'Status': False, 'Errors': serializer.errors})
def put(self, request, *args, **kwargs): if not request.user.is_authenticated: return JsonResponse({ 'Status': False, 'Error': 'Log in required' }, status=403) if 'id' in request.data: if request.data['id'].isdigit(): contact = Contact.objects.filter( id=request.data['id'], user_id=request.user.id).first() print(contact) if contact: serializer = ContactSerializer(contact, data=request.data, partial=True) if serializer.is_valid(): serializer.save() return JsonResponse({'Status': True}) else: JsonResponse({ 'Status': False, 'Errors': serializer.errors }) return JsonResponse({ 'Status': False, 'Errors': 'Не указаны все необходимые аргументы' })
def post(self, request, *args, **kwargs): if not request.user.is_authenticated: return JsonResponse({'Status': False, 'Error': 'Log in required'}, status=403) if {'city', 'street', 'phone'}.issubset(request.data): # request.data._mutable = True request.data.update({'user': request.user.id}) serializer = ContactSerializer(data=request.data) if serializer.is_valid(): serializer.save() return JsonResponse({'Status': True}) else: JsonResponse({'Status': False, 'Errors': serializer.errors}) return JsonResponse({'Status': False, 'Errors': 'Не указаны все необходимые аргументы'})
def get(self, request, *args, **kwargs): if not request.user.is_authenticated: return JsonResponse({'Status': False, 'Error': 'Log in required'}, status=403) contact = Contact.objects.filter( user_id=request.user.id) serializer = ContactSerializer(contact, many=True) return Response(serializer.data)
def get(self, request, *args, **kwargs): # Проверка авторизован ли пользователь if not request.user.is_authenticated: return JsonResponse({ 'Status': False, 'Errors': 'Пользователь не авторизован' }) contacts = Contact.objects.filter(user=request.user) serializer = ContactSerializer(contacts, many=True) return JsonResponse({'Status': True, 'Info': serializer.data})