django 需要帮助编写自定义字段

发布于 2024-10-09 22:59:03 字数 488 浏览 5 评论 0原文

我知道 Django 没有用于 postgresql 的自定义类型“text[]”的内置模型字段。 看完文档后,我有一个问题。

我意识到我需要重写 db_type 方法以反映“text[]”数据类型,但这就是全部吗?我需要为 to_python 方法编写什么?我的意思是,返回的默认值已经是我可以使用的列表了,对吧?

class TextArrayField(models.Field):

    def db_type(self,connection):
        return 'text []'

使用psycopg2。

更新: 我尝试使用上述字段创建一个表...但是 django evolution 抛出一个错误:

AttributeError: 'module' object has no attribute 'EvolutionOperations'

任何人都可以启发吗?

I'm aware that Django do not have a built in model field for postgresql 's custom type "text[]".
After looking at the docs, I'm have a question.

I realized I need to override the db_type method to reflect the 'text[]' data type, but is that all? What do I need to write for the to_python method? I mean, the default value returned is already a list I can use right?

class TextArrayField(models.Field):

    def db_type(self,connection):
        return 'text []'

using psycopg2.

UPDATE:
I tried creating a table with the above field... but django evolution is throwing an error:

AttributeError: 'module' object has no attribute 'EvolutionOperations'

Can anyone enlighten?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

赠我空喜 2024-10-16 22:59:03

to_python 应该将数据库值映射到 python 对象。例如,DateTimeFieldto_python将数据库timestamp转换为pythonsdatatetime`对象。

to_python should mapp the database values to a python objects. For example for DateTimeFieldto_pythonturns databasetimestampinto pythonsdatatetime` objects.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文