请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

py2.7+django1.9.8 在admin创建createsuperuser时出错

严格按照老师的视频中的步骤来,还是有许多小错误
之前与老师操作不同的地方有两处:
1.自己在设计数据表的时候,添加了一些新的项,但是打开navicat查看过了,生成成功了的
2.还有就是之前有一个报错,用csdn里面的一个方法解决了:
在重写用户模型时报错:AttributeError: type object ‘UserProfile’ has no attribute ‘USERNAME_FIELD’
csdn给出的方法是在类声明中加上两行:
identifier = models.CharField(max_length=40, unique=True)
USERNAME_FIELD = 'identifier’
加上后确实不报错了

但是到了5-1节,出现了新的问题:
图片描述具体地:
图片描述在运行createsuperuser之后能够出来Identifier提示输入,然而输入后就开始报错了,没有进入视频中显示的,Email address的输入(错误信息如图一)

在stackoverflow上有一个类似的问题,Django新手看不太明白,希望路过的高手和老师能够帮忙看一下 十分感谢
https://stackoverflow.com/questions/14723099/attributeerror-manager-object-has-no-attribute-get-by-natural-key-error-in

正在回答

1回答

AttributeError: type object ‘UserProfile’ has no attribute ‘USERNAME_FIELD’  你出现这个错误的时候 你应该去查看你继承的类是否是写错了 这个错误首先是这个问题 你需要看看userprofile 继承的是哪个类 肯定跟视频的不一样 我不知道你到底添加了什么做了什么 至于你后面哪些多余操作,你先看看是不是继承错了,是的话改回去 把那些注掉在试试

0 回复 有任何疑惑可以回复我~
  • 提问者 慕田峪8152788 #1
    首先非常感谢及时的回复,刚看到就测试了一下
    
    检查了前面的operation APP 中的UserProfile(AbstractUser)确实写错了,多加了一个base,写成了UserProfile(AbstractBaseUser)
    
    修改之后,之前的这个错误不报了
    
    但是出现了新的错误:
    
    django.db.utils.OperationalError: (1054, "Unknown column 'users_userprofile.is_superuser' in 'field list'")
    
    请问这又是什么原因呢
    回复 有任何疑惑可以回复我~ 2019-02-25 01:11:26
  • Ethreal 回复 提问者 慕田峪8152788 #2
    可能由于你之前继承错误导致本应该出现的字段在数据库并没有出现  解决办法 删除整个migrations文件里的内容除了__init__.py之外,再执行 python manage.py makemigrations,再python manage.py migrate  同步命令执行数据库迁移  然后在测试下
    回复 有任何疑惑可以回复我~ 2019-02-25 07:39:05
  • 提问者 慕田峪8152788 回复 Ethreal #3
    ?,这个方法有效,可是马上又出现了新的问题
    TypeError: create_superuser() takes exactly 4 arguments (3 given)
    这又是为什么呢
    回复 有任何疑惑可以回复我~ 2019-02-25 19:32:05
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信