我在模板中调用端点:
var postdata = { 'csrfmiddlewaretoken': '{{ csrf_token }}' }
$.post("reconcile/" + transaction_id, postdata);
以下是观点:
def reconcile_transaction(request, slug, id):
society = get_object_or_404(Society, slug=slug)
try:
society.members.get(pk=request.user.id)
except society.DoesNotExist:
return HttpResponseRedirect('/')
account = society.account
transaction = Transaction.objects.filter(id=id)
print(transaction.get_stubbed_time)
我在print语句中遇到500错误。
有什么想法吗?
答案 0 :(得分:3)
filter()
返回QuerySet(基本上是模型实例列表)。而且,由于get_stubbed_time
上没有QuerySet
属性,因此您在尝试从查询集中获取AttributeError
属性时获得get_stubbed_time
。并且,由于您没有以DEBUG模式运行 - 您看到的是500。
您需要使用get()代替:
transaction = Transaction.objects.get(id=id)
print(transaction.get_stubbed_time)
另外,保持DEBUG=True
处于开发状态 - 快速了解错误的根本原因有很大帮助。但是,不要忘记to turn it off in production。
希望有所帮助。