Ausgabe
Ich habe diese Funktion in Django:
def get_customer(request):
resp = dict(succees=False, message='no se encontro clientes')
database = request.user.company_select.company_db
try:
customers = Customer.objects.using(database).get(id_customers=request.data['id_customer'])
if customers:
list_customers = list()
customers['subgroup_p'] = Customer_Subgroup.objects.using(database).values().filter(id_subgroup=customers['customers_subgroup'])
customers['group_p'] = Customer_Group.objects.using(database).values().filter(id_group=customers['subgroup_p']['group_id'])
customers['customers_subgroup_p'] = Catalog_Type_Customer.objects.using(database).values().filter(id_type_customer=customers['customers_type'])
customers['city_p'] = City.objects.values().filter(city_id=customers['city'])
customers['state_p'] = State.objects.values().filter(state_id=customers['city_p']['state_id'])
customers['country_p'] = Country.objects.values().filter(country_id=customers['state_p']['country_id'])
list_customers.append(customers)
resp.update(dict(success=True, message='', customers=list_customers))
except Exception as e:
print(e)
resp.update(dict(message='Error'))
return Response(resp)
Aber ich bekomme den Fehler´Customer´ is not subscriptable
Was kann ich tun, um das zu lösen?
Vielen Dank!
Lösung
Sie versuchen, als dict auf eine Eigenschaft eines Django-Modellobjekts zuzugreifen, aber Sie müssen darauf als Eigenschaft zugreifen, indem Sie .property_name wie verwenden customers.subgroup_p
.
Versuche dies:
def get_customer(request):
resp = dict(succees=False, message='no se encontro clientes')
database = request.user.company_select.company_db
try:
customers = Customer.objects.using(database).get(id_customers=request.data['id_customer'])
if customers:
list_customers = list()
customers.subgroup_p = Customer_Subgroup.objects.using(database).values().filter(id_subgroup=customers.customers_subgroup)
customers.group_p = Customer_Group.objects.using(database).values().filter(id_group=customers.subgroup_p.group_id)
customers.customers_subgroup_p = Catalog_Type_Customer.objects.using(database).values().filter(id_type_customer=customers.customers_type)
customers.city_p = City.objects.values().filter(city_id=customers.city)
customers.state_p = State.objects.values().filter(state_id=customers.city_p.state_id)
customers.country_p = Country.objects.values().filter(country_id=customers.state_p.country_id)
list_customers.append(customers)
resp.update(dict(success=True, message='', customers=list_customers))
except Exception as e:
print(e)
resp.update(dict(message='Error'))
return Response(resp)
Beantwortet von – Diego Magalhães
Antwort geprüft von – Mary Flores (FixError Volunteer)