我一直想尝试使用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。
感谢您的时间!
答案 0 :(得分:1)
您的所有字段都存在she y语法问题:您使用了冒号而不是等号。应该是:
set_customer_mails = models.BooleanField(default='1')
等