Django makemigrations省略了模型中的一些字段

时间:2016-05-17 12:50:37

标签: python django django-models makemigrations

在我的django应用程序中,我创建了一个类似的模型:

class Plan_miesieczny_aktualny(models.Model):
    id = models.CharField(max_length=30, primary_key=True)
    pozycja_planu = models.ForeignKey('Pozycje_planu', to_field='id')
    miesiac = models.IntegerField
    liczba = models.DecimalField
    cena = models.DecimalField
    pakiet = models.ForeignKey('Pakiet', to_field='id')
    kod_grupy = models.IntegerField(null=True)

但最初的 makemigrations 产生了:

    migrations.CreateModel(
        name='Plan_miesieczny_aktualny',
        fields=[
            ('id', models.CharField(max_length=30, primary_key=True, serialize=False)),
            ('kod_grupy', models.IntegerField(null=True)),
            ('pakiet', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='nfz_umx.Pakiet')),
        ],
    ),

    ....

    migrations.AddField(
        model_name='plan_miesieczny_aktualny',
        name='pozycja_planu',
        field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='nfz_umx.Pozycje_planu'),
    ),

为什么缺少某些字段?

1 个答案:

答案 0 :(得分:4)

您应该始终声明字段调用字段类构造函数:

miesiac = models.IntegerField()
liczba = models.DecimalField(max_digits=5, decimal_places=2)
cena = models.DecimalField(max_digits=5, decimal_places=2)