无法更改Djang中的模型字段类型

2024-05-23 19:22:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个型号预订增补版

class ReservationSupplement(models.Model):
    reservation_hotel = models.ForeignKey(ReservationHotel, on_delete=models.CASCADE, related_name='supplements', verbose_name=_("Hotel Supplements"))
    supplement = models.CharField(max_length=10)

我想把它改成:

class ReservationSupplement(models.Model):
    reservation_hotel = models.ForeignKey(ReservationHotel, on_delete=models.CASCADE, related_name='supplements', verbose_name=_("Hotel Supplements"))
    supplement = models.ForeignKey('RatesManagerApp.Product', on_delete=models.PROTECT, related_name='reservations', verbose_name=_("Supplement"))

我对makemigrations没有问题,但是当我运行migrate时,我得到了这个错误:django.db.utils.ProgrammingError: column "supplement" does not exist。你知道吗

我不知道是什么导致了这个错误,因为回溯只给了我Django模块,而不知道是什么导致了这个错误。你知道吗


Tags: nameverbosemodelonmodels错误deletehotel
1条回答
网友
1楼 · 发布于 2024-05-23 19:22:07

检查事项:

  1. 首先复制任何重要数据,然后删除该应用程序中的迁移文件夹。

  2. 如果您打算在^{},中的模型中使用app\u name路径,它必须类似于'app_name.ModelName'。因此,如果您想像那样使用app\u名称,请确保它具有适当的大小写敏感度(尽管除了Product之外,您应该将其全部设置为小写,因为您的使用方式使其看起来像模型中的模型,因此ForeignKey是可能的,但在指定路径时不是一个好的约定)

相关问题 更多 >