django -OperationalError: (1054, “Unknown column 'registration_register.mobilexnumber' in 'field list'”)
我对姜戈和Python都不熟悉。我正试图创建一个注册和登录表单。测试注册页面只与
操作错误在/admin/registration/register/
(1054,"Unknown column 'registration_register.mobilexnumber' in 'field list'")
号
型号.py
1 2 3 4 5 6 7 8 | class Register(models.Model): username = models.CharField(max_length=30) email = models.EmailField(max_length=254) password = models.CharField(max_length=30) firstname = models.CharField(max_length=50) lastname = models.CharField(max_length=50) mobilexnumber = models.CharField(max_length=50) samplefld = models.CharField(max_length=30) |
表格.py
1 2 3 4 5 6 7 8 | class RegForm(forms.ModelForm): class Meta: model = Register fields = ('username', 'email', 'password', 'firstname', 'lastname','mobilexnumber', 'samplefld', ) widgets = { 'password': forms.PasswordInput(), } |
号
别管
我使用以下内容:
Django 1.9版
python 2.7.11版
Pycharm 5.0.2版
MySQL数据库
谢谢!
经过几次搜索,我找到了一个比较好的解决方案。我遵循了这个问题中给出的所有步骤。之后,正如@eyal建议的那样,我从mysql命令行进行了一个原始的mysql查询,添加了特定的列,它就工作了!
不是最好的方法,但它有效。
听起来您在没有进行相应数据库模式更改的情况下对模型进行了更改。使用django 1.9运行
1 2 3 4 5 6 7 8 | $ manage.py makemigrations Migrations for 'register': 0002_register_mobilexnumber.py: - Add field mobilexnumber to register $ manage.py migrate Running migrations: Rendering model states... DONE Applying register.0002_register_mobilexnumber... OK |
号
你应该用新的"mobilexnumber"列更新你的mysql数据库。(或运行syncdb)
1 | alter table register add column `mobilexnumber` varchar(50) NULL; |