更改目录结构后,Django迁移未检测到更改

时间:2019-09-11 11:44:45

标签: python django django-migrations

我使用以下目录结构创建了一个Django项目:

bi3online
    __init__.py
    migrations
        __init__.py
    static
    templates
    media
    manage.py
    models.py
    urls.py
    views.py
    wsgi.py
    ...

当我运行python manage.py makemigrationspython manage.py migrate时,它只会为auth应用程序创建迁移,然后当我再次尝试时,它说未检测到更改。迁移似乎只适用于应用程序,但我不确定。

models.py

from django.db import models


class Book(models.Model):
    id = models.AutoField(primary_key=True)
    title = models.CharField(null=False, blank=False, max_length=64)

1 个答案:

答案 0 :(得分:0)

只是总结评论并引导您解决问题:

Django可与应用一起使用。该应用程序是一个包含models.pyapps.pyviews.py模块(可选为其他)的文件夹。

说您的应用名为books。为了让Django将该文件夹识别为应用程序,您需要将应用程序添加到settings.py

INSTALLED_APPS = [
    ... ,
    'books'
]

您需要在apps.py文件夹中的books模块中进行以下操作:

from django.apps import AppConfig


class BooksConfig(AppConfig):
     name = 'books'

您应该具有以下项目结构:

bi3online
    books
        migrations
            __init__.py
        __init__.py
        models.py
        views.py
    bi3online
        __init__.py
        manage.py
        urls.py
        wsgi.py
    static
    templates
    media