首页 > 解决方案 > 对象在 Django 中不可下标

问题描述

我在 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)

但我得到了错误´Customer´ is not subscriptable

我能做些什么来解决这个问题?

谢谢!

标签: pythondjangolist

解决方案


试试这个:

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)

推荐阅读