【问题标题】:Unable to makemigrations in Django无法在 Django 中进行迁移
【发布时间】:2021-10-13 15:30:39
【问题描述】:

问题陈述:

  • 我正在尝试在新文件中创建新模型 - app1/models/model2.py
  • 我在尝试进行迁移时没有看到任何错误。
  • 但是 Django 没有检测到任何变化。
  • 如果我将相同的代码放入之前的文件 app1/models/model1.py - makemigrations 有效。
  • 我试过 - python manage.py makemigrations app1 & python manage.py makemigrations

我的基本模型:

from django.db import models


class Xyz(models.Model):
    name = models.CharField(max_length=100)

我尝试通过 pycharm 和普通终端。我正在使用 UBuntu 20.04LTS。

我删除了所有迁移文件,然后将 makemigrations 重新运行为 app1 ,它只选择了旧的更改。没有选择新的Xyz 模型。

所以我创建这个新的 model2.py 文件的方式可能有问题。但我通常像model1.py一样创建它。我什至尝试复制粘贴并重命名同一个文件。 我所有的文件夹中都有 init.py。

【问题讨论】:

    标签: django makemigrations


    【解决方案1】:

    尝试将app1.models.model2.Xyz 类导入app1/models/__init__.py,因为它已在我这边解决。

    app/models/model2.py

    from django.db import models
    
    
    class Xyz(models.Model):
        name = models.CharField(max_length=100)
    

    运行 1:不成功

    app/models/__init__.py

    from models.model1 import *
    

    进行迁移

    $ python3 app/manage.py makemigrations
    (0.000) SELECT @@SQL_AUTO_IS_NULL; args=None
    (0.000) SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; args=None
    (0.000) SELECT VERSION(); args=None
    (0.000) SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; args=None
    (0.000) SHOW FULL TABLES; args=None
    No changes detected
    

    运行 2:成功

    app/models/__init__.py

    from models.model1 import *
    from models.model2 import Xyz  # Add this line
    

    进行迁移

    $ python3 app/manage.py makemigrations
    (0.000) SELECT @@SQL_AUTO_IS_NULL; args=None
    (0.000) SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; args=None
    (0.000) SELECT VERSION(); args=None
    (0.000) SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; args=None
    (0.000) SHOW FULL TABLES; args=None
    Migrations for 'app':
      app/migrations/0002_xyz.py
        - Create model Xyz
    

    【讨论】:

      猜你喜欢
      • 2021-06-27
      • 2020-05-09
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      • 2021-09-14
      • 2020-06-14
      • 1970-01-01
      相关资源
      最近更新 更多