django 学习之路
在用django做自动化测试平台,中途遇到很多错误,有一部分已经不记得了,现在把这些错误整理出来,以后你肯能也会出现这样的问题,或许能在这里找到你要的解决方案
1、错误admin.E108
错误信息:<class 'apitest.admin.ApisAdmin'>: (admin.E108) The value of 'list_display[0]' refers to 'apiname ', which is not a callable, an attribute of 'ApisAdmin', o
该错误是由于admin.py字段错误导致,字段不能有空格,因为多写了一个空格,然后对照了感觉没问题,后面重新写了之后就好了,然后对照这两个字段的区别,才找到原来是空格惹的祸
2、django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
在.py文件中,调用引用modle(如:from bug.modelsimport Bug)时报错,我以为是实例化modle的时候有问题,因此在django shell 上操作,发现没问题。对于官方的解释,environ是一个字符串所对应环境的映像对象,也就是我们常说的系统环境变量。需要把下面代码加在import modle 前面
import django, os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "autotest.settings")
django.setup()
3、apitest.models.DoesNotExist: Apis matching query does not exist.
使用objects.get获取不到数据的时候会抛异常,结果多于一条时也会抛异常,所以get只能用来查询只有一条数据的时候用,如id字段,因为时主键,所以只会有一条
filter 插叙的时候会返回一个集合,即使数据为空,也会返回一个集合
4、AttributeError: 'QuerySet' object has no attribute 'save'
这个错误和第3点相关,进行保存时,如果通过fiter查询的数据时,因为返回的是一个集合,所以没办法进行保存,所以如果进行update 的操作时,只能用get
5、TypeError: int() argument must be a string, a bytes-like object or a number, not 'WSGIRequest'
WSGIRequest为django.core.handlers.wsgi.WSGIRequest,在接收到get、post请求数据后没有进行处理,导致出现这个错误
未完待续......