makemigrations
django 1.7 中的命令如何检测更改?
我有一个问题,它总是告诉我我的一个领域有变化,而没有。当我运行该命令时,它只是一遍又一遍地写入相同的迁移文件而没有任何更改。
该字段是一个自定义字段,我在其上实现了 deconstruct 方法,并且有一些参数是对象,因此我使用了 deconstructible 装饰器。
我在 github 上创建了一个复制问题的项目:https ://github.com/YAmikep/django-testmigrations
我做错了什么?这是一个错误吗?
这是我跑的:
/projects/testmigrations$ python manage.py makemigrations app1
Migrations for 'app1':
0001_initial.py:
- Create model ModelA
/projects/testmigrations$ python manage.py migrate
Operations to perform:
Apply all migrations: admin, contenttypes, auth, app1, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying app1.0001_initial... OK
Applying sessions.0001_initial... OK
/projects/testmigrations$ python manage.py makemigrations
Migrations for 'app1':
0002_auto_20141014_2123.py:
- Alter field field1 on modela
/projects/testmigrations$ python manage.py makemigrations
Migrations for 'app1':
0003_auto_20141014_2123.py:
- Alter field field1 on modela
迁移文件 0002_auto_20141014_2123.py 和 0003_auto_20141014_2123.py 包含完全相同的操作:
operations = [
migrations.AlterField(
model_name='modela',
name='field1',
field=app1.models.CustomField(max_length=50, value_manager=app1.models.ValueManager(values=[app1.models.Value(val=1), app1.models.Value(val=2)])),
),
]