继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

使用Django的xadmin作为php后台管理系统遇到的问题(一)

无无法师
关注TA
已关注
手记 44
粉丝 54
获赞 130
开发环境
  • python3.6
  • pycharm
  • Django11.3
遇到的问题
  • NameError:name 'ImageSum' is not defined

错误29行

ImageSum数据表的组织结构

29行的位置是BannerItem表

解决:
把ImgeSum表移动到最上面,Django是按模型顺序识别的,BannerItem前如果没有先引入ImageSum当然会报错

  • str returned non-string (type int)
    解决:
    参考资料
    model返回里面添加str()强制转换
    图片描述
  • Unknown column 'ModelName.id' in 'field list'"
    把数据库删除了,makemigrations也删除。重新makemigrations
  • No module named 'xadmin'
    imooc提问
  • HINT: Add or change a related_name argument to the definition for 'UserProfile.user_permissions' or 'User.user_permissions'.
    这一节是用自定义的UserProfile覆盖掉auth_user
    是因为少了AUTH_USER_MODEL = "users.UserProfile"这一步才报HINT错误
    正确步骤
    创建users app,注册users app,把AUTH_USER_MODEL = "users.UserProfile"也写到setting里面。
    图片描述
    图片描述
    再继承AbastractUser
    图片描述
    使用ImageField必须要安装Pillow
    pip install Pillow
    做users这个app的makegrations
    makegrations Users
    migrate users
    出现这个错误还可以是
    一个模型里面外键关联的模型相同
    图片描述
    这样子解决
    图片描述
    图片描述
    成果:
    图片描述
    原来的auth_user等表没了,变成profile表
    图片描述
    其它注意事项
  • 只要更新了模型,就必须更新数据库
  • 添加外键,django就会自动添加_id
  • 还没写完
打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP

热门评论

ERRORS:

auth.Group.permissions: (fields.E340) The field's intermediary table 'auth_group_permissions' clashes with the table name of 'desk1.AuthGro

upPermissions'.

auth.User.groups: (fields.E340) The field's intermediary table 'auth_user_groups' clashes with the table name of 'desk1.AuthUserGroups'.

auth.User.user_permissions: (fields.E340) The field's intermediary table 'auth_user_user_permissions' clashes with the table name of 'desk1

.AuthUserUserPermissions'.

请问你这个问题解决了吗

查看全部评论