Django项目 /管理员 /途径
嘿,我使用Django框架,我有错误OperationationalRor
。
我有两个类别的课程:
class Student(models.Model):
user = models.OneToOneField(User, null=True, blank=True, on_delete=models.CASCADE)
id = models.AutoField(primary_key=True)
First_Name = models.CharField('First Name', max_length=30, null=True, blank=True)
Last_Name = models.CharField('Last Name', max_length=30, null=True, blank=True)
ID_Number = models.CharField('Id Number', max_length=30, null=True, blank=True)
Phone = PhoneNumberField('Phone',null=True)
class Meta:
verbose_name_plural = "Students"
def __str__(self):
return str(self.user)
class Lecturer(models.Model):
user = models.OneToOneField(User, null=True, blank=True, on_delete=models.CASCADE)
id = models.AutoField(primary_key=True)
First_Name = models.CharField('First Name', max_length=30, null=True, blank=True)
Last_Name = models.CharField('Last Name', max_length=30, null=True, blank=True)
ID_Number = models.CharField('Id Number', max_length=30, null=True, blank=True)
Phone = PhoneNumberField('Phone',null=True)
class Meta:
verbose_name_plural = "Lecturers"
def __str__(self):
return str(self.user)
我为我的学生添加了一个新字段,也为讲师课程添加了该字段
phone = phonenumberfield('phone',null = true)
是的,我做了命令:
python manage.py makemigrations
python manage.py migrate
之后,我确定所有内容都已更新:
Operations to perform:
Apply all migrations: HomePage, accounts, admin, auth, contenttypes, sessions
Running migrations:
No migrations to apply.
但是当我运行 runserver 之后,我转到管理员路线:
http:// localhost:8000/admin
很好,我有新的现场电话:
添加我去讲师数据,一切都 当我尝试获取学生数据时,我会遇到错误,并且无法识别该字段的手机!
Hey I work with django framework I had the error OperationalError
.
I have two classes with the same fields:
class Student(models.Model):
user = models.OneToOneField(User, null=True, blank=True, on_delete=models.CASCADE)
id = models.AutoField(primary_key=True)
First_Name = models.CharField('First Name', max_length=30, null=True, blank=True)
Last_Name = models.CharField('Last Name', max_length=30, null=True, blank=True)
ID_Number = models.CharField('Id Number', max_length=30, null=True, blank=True)
Phone = PhoneNumberField('Phone',null=True)
class Meta:
verbose_name_plural = "Students"
def __str__(self):
return str(self.user)
class Lecturer(models.Model):
user = models.OneToOneField(User, null=True, blank=True, on_delete=models.CASCADE)
id = models.AutoField(primary_key=True)
First_Name = models.CharField('First Name', max_length=30, null=True, blank=True)
Last_Name = models.CharField('Last Name', max_length=30, null=True, blank=True)
ID_Number = models.CharField('Id Number', max_length=30, null=True, blank=True)
Phone = PhoneNumberField('Phone',null=True)
class Meta:
verbose_name_plural = "Lecturers"
def __str__(self):
return str(self.user)
And I add a new field to my Student and also to Lecturer classes the field is
Phone = PhoneNumberField('Phone',null=True)
And yes I did the commands:
python manage.py makemigrations
python manage.py migrate
After that I am sure that everything is updated:
Operations to perform:
Apply all migrations: HomePage, accounts, admin, auth, contenttypes, sessions
Running migrations:
No migrations to apply.
But when I run the runserver and after that, I go to the admin route:
http://localhost:8000/admin
add I go the Lecturers data everything work great I have new field Phone:
But when I try to go to Student data I get an Error and don't recognize the field's phone!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您不想丢失
db.sqlite3
尝试删除迁移的第一步1:删除
db.sqlite3
file。步骤2:
$ Python Manage.py Migrate
步骤3:
$ Python Manage.py Makemigrations
步骤4:使用
$ python Manage.py createSuperuser
新
db.sqlite3
将自动生成。看这个条目
If you don't want to lose
db.sqlite3
try to delete migrations firstStep 1: Delete the
db.sqlite3
file.Step 2:
$ python manage.py migrate
Step 3:
$ python manage.py makemigrations
Step 4: Create a superuser using
$ python manage.py createsuperuser
new
db.sqlite3
will generate automatically.Take a look at this entry