Django 迁移:未反映更改 | 仅创建 id

err*_*ona 3 python migration django

I\xc2\xb4m 尝试使用 django 2.1 迁移我的新模型。\n由于某种原因它只创建id列。

\n\n

完成此操作后,我得到以下奇怪的行为:

\n\n

进行迁移用户界面:

\n\n
No changes detected in app 'ui'\n
Run Code Online (Sandbox Code Playgroud)\n\n

迁移用户界面

\n\n
No migrations to apply.  Your models have changes that are not yet reflected in a migration, and so won't be applied.  Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them.\n
Run Code Online (Sandbox Code Playgroud)\n\n

按照 cli I\xc2\xb4m 的说明进行操作,最终陷入循环。

\n\n

这是我的 models.py

\n\n
from django.db import models\nfrom django.contrib.auth.models import User\n\n\nclass Customer(models.Model):\n    customer_id: models.AutoField(primary_key=True)\n    customer_su_object: models.ForeignKey(User, on_delete=models.CASCADE)\n    set_customer_mails: models.BooleanField(default='1')\n    set_contact_point: models.EmailField(blank=True)\n    set_tracking_link: models.CharField(max_length=100, blank=True)\n    set_primary_color: models.CharField(max_length=100, blank=True)\n    set_warn: models.IntegerField(max_length=2)\n    stat_saved: models.IntegerField(max_length=100, blank=True)\n    stat_active: models.IntegerField(max_length=100, blank=True)\n    stat_warn: models.IntegerField(max_length=100, blank=True)\n    stat_case: models.IntegerField(max_length=100, blank=True)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我没有收到任何错误消息。我也已经删除了表和所有迁移,并尝试从头开始进行初始迁移(使用上述所有设置)。它再次创建 id 列,就是这样。\n我的 0001_initial.py 如下所示:

\n\n
# Generated by Django 2.1.2 on 2018-11-25 16:55\n\nfrom django.db import migrations, models\n\n\nclass Migration(migrations.Migration):\n\n    initial = True\n\n    dependencies = [\n    ]\n\n    operations = [\n        migrations.CreateModel(\n            name='Customer',\n            fields=[\n                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),\n            ],\n        ),\n    ]\n
Run Code Online (Sandbox Code Playgroud)\n\n

如您所见,它没有考虑我的任何 models.py。我对 Django 和 python 还很陌生,所以我非常感谢任何关于如何解决这个问题的帮助。最后一件事:我在我的开发环境中使用 SQLite\xc2\xb4m。

\n\n

谢谢你的时间!

\n

Dan*_*man 6

您的所有字段都存在 she y 语法问题:您使用了冒号而不是等号。它应该是:

set_customer_mails = models.BooleanField(default='1')
Run Code Online (Sandbox Code Playgroud)

ETC