【发布时间】:2022-06-16 21:12:06
【问题描述】:
我在 Django 的帮助下从事一个在线购物网站项目。我是 Django 的初学者以下代码提供了我的数据库表。它有助于添加产品。
class Product(models.Model):
category = models.ForeignKey(Category,related_name='products', on_delete=models.CASCADE)
name = models.CharField(max_length=200,db_index=True)
slug = models.SlugField(max_length=200,db_index=True)
image = models.ImageField(upload_to='products/%y/%m/%d',blank=True)
description = models.TextField(blank=True)
price = models.DecimalField(max_digits=10, decimal_places=2)
available = models.BooleanField(default=True)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
在浏览器中显示错误。当我在管理面板中添加产品时,此错误会显示给我。它有助于添加产品,但是当我添加产品时会出现以下错误。
/admin/onlineshop/product/add/处的操作错误
表 onlineshop_product 没有名为 name 的列
当我使用命令进行迁移时:
python manage.py migrate
它显示:
要执行的操作:应用所有迁移:admin、auth、 contenttypes、onlineshop、sessions 运行迁移:无迁移 申请。您在应用程序中的模型:“在线商店”有以下变化 尚未反映在迁移中,因此不会应用。跑 'manage.py makemigrations' 进行新的迁移,然后重新运行 'manage.py migrate' 来应用它们。
python manage.py makemigrations
无法使用 'auto_now_add=True' 添加字段 'created' 在不提供默认值的情况下生成产品。这是因为数据库 需要一些东西来填充现有的行。
- 现在提供一次性默认值,将在所有现有的 行
- 退出并在 models.py 中手动定义默认值。选择 一个选项:
如何解决?
【问题讨论】:
标签: python django django-models django-migrations