Django 是否总是将表情符号视为 1 个字符长?

Will Django always consider an Emoji as 1 character long?

我正在制作一个使用表情符号作为反应的 Post 反应模型,此时我没有将它们映射到选项,而是将 utf-8 值(例如 )直接插入到数据库 (Postgres) 作为 CharField 实例。 这让我想到我应该为这个字段的 max_length 使用哪个值。我知道 Rust 会将表情符号视为 1 个字符长,但我不确定 python 或 Postgres 会如何反应。

PostgreSQL 中 character varying 列的长度限制始终以字符为单位,而不是以字节为单位。因此,表情符号将计入长度限制为 1(如果它们是单个字符)或更多(如果它们包含 zero width joiner)。