Django :
a. MySQL数据表还未创建时,不可在视图内直接使用模型类对象,产生报错
django.db.utils.ProgrammingError: (1146, "Table 'django_demo.tb_goods' doesn't exist")
b. 编写类视图时,继承的父类错误 eg:`serializers.Serializer`应修改为继承`ModelViewSet`
type object 'BookInfoViewSet' has no attribute 'get_extra_actions'
c. django无法识别pymysql数据库驱动,没有调用 install_as_MySQLdb()方法导致的报错:
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'.
Did you install mysqlclient or MySQL-python?
d. 数据库发生错误 检查以下配置:
查看项目的配置IP & port是否正确
查看系统的配置文件,IP&port 的绑定是否正确
注:
使用路由器给视图集自动生成路由时,会拿方法名当作url路由的后缀,即:后端的方法名和前端的请求路径必须一致(eg:addresses/xxx/status ---> 后端方法名 def status() ... )
- 使用FastDFS存储图片时,若不能正常显示,查看 tracker&storage 是否开启, 检查FastDFS绑定的 ip&port 是否正确
Flask :
a. 数据库没有指定 utf8编码而导致的错误
sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1366, "Incorrect string value: '\\xE8\\x80\\x81\\xE7\\x8E\\x8B' for column
b. 数据表的某一字段,如果为 '一对多关系中' 一的一方的反向引用字段,不可以直接对其进行赋值(从前端获取到的数据为一个列表),会产生报错:
'str' object has no attribute '_sa_instance_state' 解决 : 应从[多表]中查询出包含在列表内的模型对象,在进行[一]表的赋值
MySQL :
数据库通过 xx.sql 文件新增数据时,如果发送外键错误(外键无法赋值,或外键必须给定....条件), 错误原因是 : 迁移建表时,字段顺序和文件中的赋值顺序不一致,得更改文件的插入数据顺序
Django框架无法迁移建表时,尝试如下命令 : python manage.py makemigrations 应用名 python manage.py migrate