Django Postgres makemigrations只在0001 _initial.py



Python 3.10.4Django你PostgreSQL 14

当我启动"python management .py makemigrations"我得到了文件"0001_initial。py"但是所有的字段,除了自动字段,都丢失了。

models.py

from django.db import models
# Create your models here.
class Username(models.Model):
#id = models.AutoField(primary_key=True)
username: models.CharField(max_length=100)
class Carrier(models.Model):
#id = models.AutoField(primary_key=True)
carriername: models.CharField(max_length=100)
desc: models.TextField()

0001 _initial.py

# Generated by Django 4.0.5 on 2022-06-29 13:18
from django.db import migrations, models

class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Carrier',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
],
),
migrations.CreateModel(
name='Username',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
],
),
]

首先,你必须知道Django默认将id字段添加到模型中…尝试删除迁移文件和你必须使用=而不是:所以它会像这样

class Username(models.Model):
username=models.CharField(max_length=100)
class Carrier(models.Model):
carriername = models.CharField(max_length=100)
desc =  models.TextField()

重新运行manage.py makemigrations,它应该工作

最新更新