[FIXED] Objekt kann in Django nicht abonniert werden

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)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like