Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ';无类型';对象没有属性';id';热解析类型错误_Python_Django - Fatal编程技术网

Python ';无类型';对象没有属性';id';热解析类型错误

Python ';无类型';对象没有属性';id';热解析类型错误,python,django,Python,Django,这是一个医疗库存系统。 似乎无法绕过此类型错误。我不熟悉python和django。 我看过其他类似的错误,但没有找到解决办法。这是主目录中的my views.py文件 请帮忙……谢谢 from django.shortcuts import render, redirect, Http404, get_object_or_404 from django.contrib.auth.decorators import login_required from django.http import H

这是一个医疗库存系统。 似乎无法绕过此类型错误。我不熟悉python和django。 我看过其他类似的错误,但没有找到解决办法。这是主目录中的my views.py文件

请帮忙……谢谢

from django.shortcuts import render, redirect, Http404, get_object_or_404
from django.contrib.auth.decorators import login_required
from django.http import HttpResponseRedirect, JsonResponse
from accounts.models import Registration, YearEnding
from home.backup import BackupDatabase


@login_required(login_url='/account/login/')
def HomePage(request):
   if not request.user.is_authenticated():
       raise Http404
   try:
   **  current_session_id = request.session['session'] **
   except:
   **  currentSession = YearEnding.objects.order_by("-id").first()   **
   **  request.session['session'] = currentSession.id      **
       current_session_id = currentSession.id

   current_session = get_object_or_404(YearEnding, id = current_session_id)
   return render(request, 'home/index.html', {"current_session":current_session})


@login_required(login_url='/account/login/')
def takeBackup(request):
   if request.method == "GET" and request.is_ajax():
       forcefully = request.GET.get("forcefully")
       backup = BackupDatabase()
       response = backup.run(forcefully = int(forcefully))
       if response["code"] == 200:
           return JsonResponse(response, status=200)
       else:
           return JsonResponse(response, status=400)
    else:  
       return JsonResponse({}, status=400) 
根据:

返回查询集匹配的第一个对象,如果没有匹配的对象,则返回None

表示如果未创建
YearEnding
实例,则
YearEnding.objects.order\u by(“-id”)。first()
将返回
None
。所以你需要创建一个。您可以从管理站点或shell执行此操作。例如:

>> python manage.py shell
>> [python] from my_app.models import YearEnding
>> [python] YearEnding.objects.create(field1=value1,field2=value2)
还有一个建议,您可以删除此代码:

if not request.user.is_authenticated():
   raise Http404

因为您使用的是
@login\u required
decorator,它将自动阻止未登录用户进入此视图。

是否
currentSession=YearEnding.objects.order\u by(“-id”).first()
存在?否,我的意思是如果查询实际返回任何结果,因为在另一种情况下,它将返回
None
,您将得到类型错误。哦,好的,我明白了。。。没有返回结果。它甚至还没完成呢……非常感谢。我已经解决了这个错误。很简单,现在已经修好了。太棒了。那就请吧。谢谢:)