我无法在Django项目中使用makemigration appname

时间:2019-06-26 07:17:30

标签: django django-models

完成后,我推入并重新设置git master,项目中的数据库已锁定。我删除了数据库并创建了新数据库,但是在models.py中看不到Model的表。我该如何解决?帮帮我

models.py

class UserInfor(models.Model):
    GENDERS = (
        ('nam', "Nam"),
        ('nữ', "Nữ"),
        ('khác', "Khác")
    )
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    date_of_birth = models.DateField(null=True)
    gender = models.CharField(choices=GENDERS, max_length=10)
    address = models.CharField(max_length=255, null=True)
    phone_number = models.CharField(max_length=10, null=True)

    def __str__(self):
        return self.user.username

错误

未检测到更改

4 个答案:

答案 0 :(得分:0)

删除数据库后,应运行python manage.py migrate从头开始重新创建数据库。

答案 1 :(得分:0)

运行以下命令:

python manage.py makemigrations

然后:

python manage.py migrate

答案 2 :(得分:0)

首先请确保您的应用已添加到项目的settings.py

示例:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    ...................
    ...................
    'yourappname'
]

如果您已经完成了此操作,请检查并查看您是否还在{admin.py`

中注册了UserInfor模型。
from .models import UserInfor

admin.site.register(UserInfor)

如果以上所有内容均已签出,则您应该可以运行migrations并查看模型表。

答案 3 :(得分:0)

尝试从Migrations文件夹中删除数据库和文件,但 init .py

除外

然后python manage.py makemigrationspython manage.py migrate