【问题标题】:Makemigrations after splitting models not detecting changes拆分模型后未检测到更改后的迁移
【发布时间】:2016-12-10 10:31:33
【问题描述】:

我正在虚拟环境中开发一个 django 应用程序。 Django 版本 1.9.7。

我将models.py 拆分为多个文件,并将它们保存在包含__init__.py 文件的文件夹中。

|-- Models
|   |-- __init__.py
|   |-- PersonModel.py
|   `-- VehicleModel.py

init.py 文件的内容是 -

from .VehicleModel import *
from .PersonModel import *

在 VehicleModel.py 文件中,我创建了一个模型。

from django.db import models

class Vehicle(models.Model):
        regNo = models.charField(max_length=16, null = False, blank = False, primary_key = True )
        chassisNo = models.charField(max_length=64)
        engineNo = models.charField(max_length=64)
        manufacturer = models.charField(max_length=128)
        product = models.charField(max_length=128)

现在当我运行 python manage.py makemigrations MyAppName 它说No changes detected in app 'MyAppName'

我进行了初始迁移,并在 DB 中创建了默认表。

此外,我在迁移文件夹中没有任何东西,除了 init 文件。

【问题讨论】:

  • 你忘记删除旧的models.pyc
  • 没有一个 .pyc 文件。我删除了它们,因为我遇到了一些错误。找 。 -name '*.pyc' -delete
  • @User42 是的,我刚刚用谷歌搜索,它说python manage.py sql APP_Name 已停产。让我找一个替代品。因此我也必须记下我的答案。
  • 我找到了sqlmigrate,但我认为它并不能真正解决您的目的。看到这个 -> stackoverflow.com/questions/35455706/… 最后一条评论说 manage.py sql 现在没有等价物
  • 谢谢。 sqlmigrate 需要迁移名称,我在迁移文件夹中没有任何内容。更新了相同的问题。

标签: python django


【解决方案1】:

只需将所有模型导入“models.py”,因为 django 在 models.py 中查找模型以迁移架构。

【讨论】:

    猜你喜欢
    • 2020-01-13
    • 2017-10-04
    • 1970-01-01
    • 1970-01-01
    • 2017-08-22
    • 2021-09-19
    • 2019-05-30
    • 2020-07-02
    • 1970-01-01
    相关资源
    最近更新 更多