django - 修复 AttributeError: 'str' 对象没有属性 'HTTP_201_CREATED'
问题描述
我已经在视图集上实现了以下方法,并且在发布时遇到了问题AttributeError: 'str' object has no attribute 'HTTP_201_CREATED'
。为什么我收到此错误消息,因为data
已经序列化为 json 格式。
def create(self, request,*args, **kwargs):
# Payload Items
paid_to = request.data['paid_to']
paid_from = request.data['paid_from']
amount = request.data['amount']
description = request.data['description']
date = request.data['date']
status = request.data['status']
# System Item
auth_= get_auth(request)
# Limit currency choices if setup
default_currency = DEFAULT_CURRENCY
# Get Transaction Type & show cr and dr accounts involved:
transaction_type = TransactionType.objects.get(id=request.data['transaction_type'])
get_credit_account = transaction_type.credit_account
get_debit_account = transaction_type.debit_account
# Money To Internal Value
amount_to = Money(amount,DEFAULT_CURRENCY)
# Auto generate transaction number
transaction_number = increment_transaction_number()
# Create Transaction objects
transaction = Transaction.objects.create(
transaction_type=transaction_type,
organization=auth_,
paid_to=paid_to,
paid_from=paid_from,
description=description,
date=date,
amount=amount_to,
transaction_number=transaction_number)
trans_id = transaction.id
# print(trans_id)
# Add directions to legs ..note positive direction is DEBIT and negative direction is CREDIT
positive_direction = 1
negative_direction = -1
# Add leg objects instances to track debits and credits TODO can add mutiple legs
Leg.objects.create(transaction=Transaction.objects.get(id=transaction.id), account=get_credit_account, description=transaction.description, amount=+amount_to * positive_direction)
Leg.objects.create(transaction=Transaction.objects.get(id=transaction.id), account=get_debit_account, description=transaction.description, amount=-amount_to * negative_direction)
serializer = CreateTransactionSerializer(transaction)
from rest_framework.renderers import JSONRenderer
data = JSONRenderer().render(serializer.data)
return Response(data, status=status.HTTP_201_CREATED, headers=headers)
解决方案
你rest_framework.status
用这条线覆盖:
status = request.data['status']
您需要将此变量重命名为其他名称才能使用
status.HTTP_201_CREATED
从rest_framework
图书馆
推荐阅读
- r - 从 Rcpp 中获取与基 R 相同的整数样本
- mysql - 节点 js 无法读取 null 的属性“标题”
- python - 我可以录制音频,但质量很差,而且声音非常低
- ios - 拆分视图控制器在旋转到纵向后不释放详细视图控制器
- assembly - TASM 打印来自多个加法的数值
- r - 将图例添加到 R 中的条形图 + 线形 ggplot 图表
- reactjs - 如何通过 GCP App Engine 上的 HTTP 在 React 中获取外部 API
- python - Pytest:如何将日志重定向到使用 tmp_path 夹具创建的控制台和 tmp 文件
- c# - C# 8.0 泛型:错误的可能空引用返回?
- python - 使用 cx_Oracle Cursor.executemany() 插入序列的下一个值