aro*_*ooo 9 python django postgresql
我正在同步大量数据A string literal cannot contain NUL (0x00) characters.,但又收到此错误:显然这是 postgres 问题,但我不太确定如何解决它。有没有办法在 Django 模型级别去除空字符?我有一大堆要同步的字段。
此错误修复建议:
s.decode("utf-8", errors="replace").replace("\x00", "\uFFFD")
Run Code Online (Sandbox Code Playgroud)
只有.replaceOP 的问题是必需的,它将 null 替换为 ? 特点。我也包括在内,.decode因为它可以防止在类似情况下可能出现的其他编码问题。
这将在某个.clean方法中使用 - 如果您想全局应用它,可能是 TextField 或 CharField 的子类。
除非您确实想要存储 NUL 字符,否则您应该清理文本,使其不包含它们。在模型级别,您需要定义一个clean_fieldname方法来执行此操作。
如果您确实想存储它们,则需要将它们存储在数据库中的二进制兼容字段中。Django 1.6+BinaryField应该可以工作。
| 归档时间: |
|
| 查看次数: |
6027 次 |
| 最近记录: |