Django 模型字段未在数据库中生成

0 投票
1 回答
36 浏览
提问于 2025-04-13 13:59

我正在创建一个基本的Django项目,使用的是默认的数据库sqlite3。我在主文件夹里创建了一个名为product的应用。所以,我的文件夹结构是这样的:

-project
  -djangoproject
  -products
    -models.py
-manage.py

我在models.py文件中添加了新的产品模型,但当我运行命令python3 manage.py makemigrations时,我查看我的迁移文件,发现模型是创建了,里面也有一个id字段,但我的产品的其他字段没有出现在迁移文件中。我还运行了命令python3 manage.py migrate并检查了我的数据库,发现产品表里只有id字段。我不太明白这个问题的原因。

这是我的迁移文件和models.py文件的内容:

from django.db import models

class Product(models.Model):
    name: models.CharField(max_length=200)
    price: models.FloatField()
    stock: models.IntegerField()
    image_url: models.CharField(max_length=2083)
# Generated by Django 5.0.3 on 2024-03-21 04:46

from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('products', '0004_delete_offer_delete_product'),
    ]

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

Django版本:5

如果有人知道原因,请留言或发个答案。对我来说会非常有帮助。

提前谢谢大家。

1 个回答

0

删除所有的迁移文件,然后按照下面的步骤操作。

请按照给出的步骤进行。

第一步:

python manage.py makemigrations appname

第二步:

python manage.py migrate appname

我希望按照这些步骤能解决你的问题。

撰写回答