Mhm*_*dmn 5 django django-models
我创建了一个自定义用户模型,就像文档所说的那样,当我运行时,makemigrations我去了迁移文件夹并删除了里面的名字和姓氏列0001_initial.py,然后我运行了migrate命令,但是当我运行createsuperuser命令时,它抛出了一个终端中的错误django.db.utils.OperationalError: no such column: myapp_usermodel.first_name
我怎样才能解决这个问题?我想删除名字和姓氏列,因为我没有使用它们
编辑:这是用户模型
from django.db import models
from django.utils.translation import gettext_lazy as _
from django.contrib.auth.models import AbstractUser
# Create your models here.
class usermodel(AbstractUser):
email = models.EmailField(max_length=60)
username = models.CharField(max_length=20, unique=True)
password = models.CharField(max_length=20)
def __str__(self):
return self.username
Run Code Online (Sandbox Code Playgroud)
我去了迁移文件夹并删除了里面的名字和姓氏列
0001_initial.py
你不应该那样做。这确实会阻止 Django创建列。但是现在每次查询都会在列在那里的印象中进行。此外,如果您再次进行迁移,它会尝试添加额外的列。
您应该简单地使用方法解析顺序 (MRO)并将该字段设置为None:
class usermodel(AbstractUser):
first_name = None
last_name = None
def __str__(self):
return self.usernameRun Code Online (Sandbox Code Playgroud)
您可能还最好删除数据库中的表和迁移文件并再次进行迁移,然后迁移数据库。
| 归档时间: |
|
| 查看次数: |
530 次 |
| 最近记录: |