def post(self, request): name = request.data.get("name") description = request.data.get("description") phone = request.data.get("phone") address = request.data.get("address") available_now = request.data.get("availableNow") photo = request.data.get("image") limits = request.data.get("limits") category_description = request.data.get("category") limits = urllib.parse.unquote(limits.__str__()) category_selected = CompanyCategory.objects.get( description=category_description) payment_array = [] delivery_array = [] if available_now.__str__() == "true" or available_now: available_now = True else: available_now = False try: payment_methods = request.data.get("paymentMethods").name payment_methods = payment_methods.replace('[', '') payment_methods = payment_methods.replace(']', '') payment_methods = payment_methods.split(',') except: payment_methods = request.data.get("paymentMethods") try: delivery_methods = request.data.get("deliveryMethods").name delivery_methods = delivery_methods.replace('[', '') delivery_methods = delivery_methods.replace(']', '') delivery_methods = delivery_methods.split(',') except: delivery_methods = request.data.get("deliveryMethods") try: comapny_from_user = request.user company = Company.objects.get(id_user=comapny_from_user) except: company = Company() company.account_debit = 0 try: company.name = name company.description = description company.phone = phone company.address = address company.available_now = available_now if photo is not None: company.photo = photo company.limits = limits company.category = category_selected company.id_user = request.user company.save() for method in payment_methods: method = method.strip() method_selected = PaymentMethod.objects.get(description=method) payment_array.append(method_selected) company.payment_method.set(payment_array) for method in delivery_methods: method = method.strip() delivery_method_selected = DeliveryMethod.objects.get( description=method) delivery_array.append(delivery_method_selected) company.delivery_method.set(delivery_array) company.save() except Exception(): return Response({"Error Saving This"}, 400) return Response(company.pk)