【问题标题】:Django convert imagefield to Foreign key UUIDDjango 将图像字段转换为外键 UUID
【发布时间】:2020-08-16 15:58:30
【问题描述】:

我有 django 项目,我有像下面这样的图像域

certificate = models.ImageField(null=True, blank=True, max_length=1000)

但我需要将图像字段更改为外键 UUID,如下所示

certificate = models.ForeignKey(Certificates, null=True, blank=True, on_delete=models.CASCADE)

但我遇到如下迁移错误,

Applying templates.0016_auto_20200502_0452...Traceback (most recent call last):
File "/home/sakthips/.local/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute
   return self.cursor.execute(sql, params)
psycopg2.DataError: invalid input syntax for type uuid: ""

这个错误有点奇怪,谁能帮我解决。我知道我可以删除现有字段并添加新字段,这是一种解决方案。我期待其他一些解决方案。

【问题讨论】:

    标签: django postgresql django-migrations


    【解决方案1】:

    在更改证书图像字段之前,它可能有列证书的数据。所以django想把数据修改成新的类型,有时候有些数据不能转换,就报错了。

    两种解决方法:

    1. 打开数据库,删除目标表的相关列。
    2. 在特征模型和相关表格中注释证书列,然后进行迁移和迁移以删除证书列。取消注释 certificate(ForeignKey) 列和相关表单,然后重做 makemigrations 并迁移以添加新的 certificate_id 列。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2023-02-10
      • 2020-01-26
      • 2011-03-08
      • 1970-01-01
      • 2022-07-07
      • 2012-06-13
      • 1970-01-01
      • 2023-03-10
      • 2020-11-20
      相关资源
      最近更新 更多