django-报错收集
报错: TypeError: argument 1 must be str, not PosixPath
详细:
环境:python3.6 django3.1
运行 python3 manage.py runserver 8000

原因:
django3.1之后 django的项目setttings中默认用的是pathlib 模块,取消了os.path 方法。
但是似乎兼容性不是很好,具体原因还清楚,留意中。。。。。
解决:
将setttings中
import os DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', #'NAME': BASE_DIR / 'db.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
的pathlib 换成os.path,这是解决燃眉之急,让项目跑起来。
-----------------------------------------------------------
背景: 自定义用户模型类时报错
ERRORS:
auth.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'User.groups'.
HINT: Add or change a related_name argument to the definition for 'User.groups' or 'User.groups'.
auth.User.user_permissions: (fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'User.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'User.user_permissions' or 'User.user_permissions'.
users.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'User.groups'.
HINT: Add or change a related_name argument to the definition for 'User.groups' or 'User.groups'.
users.User.user_permissions: (fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'User.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'User.user_permissions' or 'User.user_permissions'.
System check identified 4 issues (0 silenced).
解决:
setttings中设置:
# 指定自定义的用户模型类: 值的语法 ==> '子应用.用户模型类'
AUTH_USER_MODEL = 'users.User'

浙公网安备 33010602011771号