我有一个静态方法,用来保存用户(如果存在)和计算。
@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}我想要获得结果的视图如下所示:
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')我在视图中得到的计算结果如下:
{'statusCode': 200, 'calculation': <Calculations: Calculation for user>, 'customer': None}我现在如何从计算中获得purchase_price?我试着用
price = calculation['calculation']['purchase_price']但是我得到一个错误:TypeError: 'Calculations' object is not subscriptable
有什么建议吗?
发布于 2017-02-28 01:37:29
你又回来了
{'statusCode': 200, 'calculation': <Calculations: Calculation for user>, 'customer': None}
并将其分配给calculation。你的calculation['calculation']是没有__getitem__方法的Calculation对象,所以你不能像dict一样使用它。
你应该改为这样做
price = calculation['calculation'].purchase_pricehttps://stackoverflow.com/questions/42491922
复制相似问题