Django迁移:不反映更改|仅创建ID

时间:2018-11-25 17:11:11

标签: python django migration

我一直想尝试使用django 2.1迁移新模型。 由于某种原因,它仅创建id列。

这样做,我得到以下奇怪的行为:

makemigrations ui:

No changes detected in app 'ui'

迁移用户界面

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.

按照cli的说法,我最终陷入了循环。

这是我的模特。py

from django.db import models
from django.contrib.auth.models import User


class Customer(models.Model):
    customer_id: models.AutoField(primary_key=True)
    customer_su_object: models.ForeignKey(User, on_delete=models.CASCADE)
    set_customer_mails: models.BooleanField(default='1')
    set_contact_point: models.EmailField(blank=True)
    set_tracking_link: models.CharField(max_length=100, blank=True)
    set_primary_color: models.CharField(max_length=100, blank=True)
    set_warn: models.IntegerField(max_length=2)
    stat_saved: models.IntegerField(max_length=100, blank=True)
    stat_active: models.IntegerField(max_length=100, blank=True)
    stat_warn: models.IntegerField(max_length=100, blank=True)
    stat_case: models.IntegerField(max_length=100, blank=True)

我没有收到任何错误消息。同样,我已经删除了表和所有迁移,并尝试从头开始进行初始迁移(已完成所有上述设置)。它再次创建id列,就是这样。 我的0001_initial.py看起来像这样:

# Generated by Django 2.1.2 on 2018-11-25 16:55

from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Customer',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
            ],
        ),
    ]

如您所见,它没有考虑任何我的model.py。我对Django和python还是很陌生,因此,我非常感谢您提供有关如何解除此粘连的帮助。最后一件事:我在开发环境中使用SQLite。

感谢您的时间!

1 个答案:

答案 0 :(得分:1)

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

set_customer_mails = models.BooleanField(default='1')