首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从django数据库获取字段值

从django数据库获取字段值
EN

Stack Overflow用户
提问于 2017-02-28 01:20:10
回答 1查看 35关注 0票数 0

我有一个静态方法,用来保存用户(如果存在)和计算。

代码语言:javascript
复制
    @staticmethod
    def save_calculation(user, selection, calculation_data):
        customer = None

        if calculation_data['firstname'] or calculation_data['lastname']:
            customer = Customer()
            customer.title = calculation_data['title']
            customer.firstname = calculation_data['firstname']
            customer.lastname = calculation_data['lastname']
            customer.save()


        n_calculation = Calculations()
        n_calculation.user = user
        n_calculation.category = selection['category_name']
        n_calculation.make = selection['make_name']
        n_calculation.model = selection['model_name']
        n_calculation.purchase_price = selection['purchase_price']
        n_calculation.customer = customer
        n_calculation.save()
        return {'statusCode': 200, 'calculation': n_calculation, 'customer': customer}

我想要获得结果的视图如下所示:

代码语言:javascript
复制
def adviced_price(request):

if request.method == 'POST':
    connector = Adapter(Connector)
    selection = Selection(request).to_dict()
    calculation = connector.calculations(request.user, selection, request.POST)

    if 'statusCode' in calculation and calculation['statusCode'] == 200:
        customer = ''
        if 'customer' in calculation:
            customer = calculation['customer']

        price = calculation['calculation']['purchase_price'] # How to get the price
        context = {"calculation_data": calculation['calculation'], 'customer': customer, 'price': price}
        return render(request, 'master/result-calculation.html', context)
    else:
        return
else:
    return HttpResponse('Not POST')

我在视图中得到的计算结果如下:

代码语言:javascript
复制
{'statusCode': 200, 'calculation': <Calculations: Calculation for user>, 'customer': None}

我现在如何从计算中获得purchase_price?我试着用

代码语言:javascript
复制
price = calculation['calculation']['purchase_price']

但是我得到一个错误:TypeError: 'Calculations' object is not subscriptable

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-28 01:37:29

你又回来了

{'statusCode': 200, 'calculation': <Calculations: Calculation for user>, 'customer': None}

并将其分配给calculation。你的calculation['calculation']是没有__getitem__方法的Calculation对象,所以你不能像dict一样使用它。

你应该改为这样做

代码语言:javascript
复制
price = calculation['calculation'].purchase_price
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42491922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档