You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django模型字段未在数据库生成问题求助

问题原因及解决方法

问题根源

你在定义Product模型字段时,错误使用了Python类型提示的冒号:语法,而非Django模型要求的赋值等号=语法。Django的ORM仅会识别用等号赋值的属性作为数据库字段,冒号写法会被当作类型注解,不会被解析为模型字段,因此迁移文件只生成了默认的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)

后续操作步骤

  • 删除当前生成的不完整迁移文件(即products/migrations目录下最新的那个仅包含id字段的迁移文件)
  • 重新执行迁移命令:
    python3 manage.py makemigrations
    python3 manage.py migrate
    

注:从迁移文件的依赖项('products', '0004_delete_offer_delete_product')可以看出,你之前删除过Product模型,删除旧的错误迁移文件后重新生成,能避免迁移逻辑冲突。

内容的提问来源于stack exchange,提问作者Piyush Mittal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 15:07:34