Django 迁移错误,未检测到任何更改
Error in Django migrations, no changes detected
我已经使用 python manage.py migrate 命令正确完成了“初始设置”,现在在我的 mongodb 数据库中我看到这些合集:
__schema__
auth_group
auth_group_permissions
auth_permission
auth_user
auth_user_groups
auth_user_user_permissions
django_admin_log
django_content_type
django_migrations
django_session
里面有物体,所以我很确定我做对了,如果我现在做,它会说:
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
No migrations to apply.
我认为这一切都是正常的,然后我创建了这个models.py文件
models.py
from django.db import models
# Create your models here.
class Customer(models.Model):
name = models.CharField(max_length=200, null=True)
surname = models.CharField(max_length=200, null=True)
phone = models.CharField(max_length=200, null=True)
email = models.CharField(max_length=200, null=True)
date_created = models.DateTimeField(auto_now_add=True, null=True)
这是我的 settings.py 文件的一部分:
INSTALLED_APPS = [
'mysite',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
文件夹结构:
mysite
mysite
__init__.py
settings.py
other files
polls
migrations
other files
__init__.py
当我尝试执行 python manage.py makemigrations 时,我收到“未检测到任何更改”。添加我的应用程序名称并不能解决问题。我有一个迁移文件夹,其中包含 init.py(带有 __)。我不明白为什么它适用于初始设置,现在却不起作用。如果我在 models.py 文件中放置了一些语法错误,那么我在 运行 之后收到的消息是相同的,所以可能正在搜索 models.py在另一个文件夹中?真的不知道,反正希望我把所有必要的都写了,如果你需要更多信息,我会尽快回复!
这里有一些检查事项,以确保您的迁移能够顺利进行。
- 确保您使用
django-admin startapp mysite
创建应用。
- 确保在将模型添加到
mysite/models.py
后保存了模型文件。
- 在settings.py中将应用名称添加到已安装的应用中,但请确保将其添加在所有应用之后。
在你的情况下,我看到你在安装的应用程序中添加了 mysite
,而实际上你应该添加应用程序名称而不是项目名称,在你的情况下是 polls
应用程序。
我已经使用 python manage.py migrate 命令正确完成了“初始设置”,现在在我的 mongodb 数据库中我看到这些合集:
__schema__
auth_group
auth_group_permissions
auth_permission
auth_user
auth_user_groups
auth_user_user_permissions
django_admin_log
django_content_type
django_migrations
django_session
里面有物体,所以我很确定我做对了,如果我现在做,它会说:
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
No migrations to apply.
我认为这一切都是正常的,然后我创建了这个models.py文件
models.py
from django.db import models
# Create your models here.
class Customer(models.Model):
name = models.CharField(max_length=200, null=True)
surname = models.CharField(max_length=200, null=True)
phone = models.CharField(max_length=200, null=True)
email = models.CharField(max_length=200, null=True)
date_created = models.DateTimeField(auto_now_add=True, null=True)
这是我的 settings.py 文件的一部分:
INSTALLED_APPS = [
'mysite',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
文件夹结构:
mysite
mysite
__init__.py
settings.py
other files
polls
migrations
other files
__init__.py
当我尝试执行 python manage.py makemigrations 时,我收到“未检测到任何更改”。添加我的应用程序名称并不能解决问题。我有一个迁移文件夹,其中包含 init.py(带有 __)。我不明白为什么它适用于初始设置,现在却不起作用。如果我在 models.py 文件中放置了一些语法错误,那么我在 运行 之后收到的消息是相同的,所以可能正在搜索 models.py在另一个文件夹中?真的不知道,反正希望我把所有必要的都写了,如果你需要更多信息,我会尽快回复!
这里有一些检查事项,以确保您的迁移能够顺利进行。
- 确保您使用
django-admin startapp mysite
创建应用。 - 确保在将模型添加到
mysite/models.py
后保存了模型文件。 - 在settings.py中将应用名称添加到已安装的应用中,但请确保将其添加在所有应用之后。
在你的情况下,我看到你在安装的应用程序中添加了 mysite
,而实际上你应该添加应用程序名称而不是项目名称,在你的情况下是 polls
应用程序。