如何在架构和无架构模式下同时使用Django HStore DictionaryField?

萨什科·利琴科

当我hstore.DictionaryField()在Django模型中使用时,不传递任何参数并在Djano admin中注册我的模型,我可以在管理界面中快速创建新的键值行。

当我在模式模式下使用相同的字段时,hstore.DictionaryField(schema=['some schema description'])我得到了schema参数中描述的固定数量的字段

我是否可以同时具有这两个功能,即在架构描述中列出了某些特定类型的固定字段,同时还可以添加新字段?

更新

解决此问题的一种方法可能是使用两个DictionaryField的一个具有模式而另一个是无模式的,但这并不是最佳解决方案。

泰特斯P

答案是否定的,您不能同时使用hstore库的当前实现。看一下init函数(这是从github上的源代码中获得的):

class DictionaryField(HStoreField):
    description = _("A python dictionary in a postgresql hstore field.")

    def __init__(self, *args, **kwargs):
        self.schema = kwargs.pop('schema', None)
        self.schema_mode = False
        # if schema parameter is supplied the behaviour is slightly different
        if self.schema is not None:
            self._validate_schema(self.schema)
            self.schema_mode = True
            # DictionaryField with schema is not editable via admin
            kwargs['editable'] = False
            # null defaults to True to facilitate migrations
            kwargs['null'] = kwargs.get('null', True)

        super(DictionaryField, self).__init__(*args, **kwargs)

您可以看到,如果设置了架构,则该字段的可编辑参数设置为false,这是Django管理员查看的内容,以查看是否应允许您在admin UI中编辑该值。

不幸的是,您只有几个选择:自己创建一个继承自该类的类来覆盖它,或者在他们的github页面上打开拉取请求或问题,希望有人能得到它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用多个架构创建HSTORE

来自分类Dev

Hstore和多租户

来自分类Dev

在Django中将Django-Hstore用于PostgreSQL HSTORE时出错

来自分类Dev

sqlite中的Django hstore字段

来自分类Dev

PostgreSQL Hstore和吐司膨胀

来自分类Dev

使用空的hstore获取记录

来自分类Dev

如何在Java中绑定hstore []值

来自分类Dev

如何在Java中绑定hstore []值

来自分类Dev

Django 1.8 HStore字段抛出编程错误

来自分类Dev

Rails和Postgres HSTORE属性类型

来自分类Dev

Rails和Postgres HSTORE属性类型

来自分类Dev

使用hstore字段作为关联字段

来自分类Dev

使用Hstore进行Rails查询订购

来自分类Dev

使用Hstore进行Rails总和查询

来自分类Dev

Rails3:Postgres Hstore:如何在具有 hstore 列的表中插入多条记录

来自分类Dev

如何确定一个hstore是否是另一个hstore的子集?

来自分类Dev

如何在JdbcTemplate中使用PostgreSQL hstore / json

来自分类Dev

如何在Rails 4中更新Hstore列

来自分类Dev

如何在hstore列的键上添加索引?

来自分类Dev

如何在Sequel迁移中创建hstore列?

来自分类Dev

如何在Rails + Postgres中重命名hstore密钥

来自分类Dev

如何在两个hstore postgresql中连接值?

来自分类Dev

如何在Mac OSX的Postgresql中安装hstore?

来自分类Dev

如何在JSON中的Rails中设置hstore值

来自分类Dev

如何在Rails + Postgres中重命名hstore密钥

来自分类Dev

使用键和值的通配符进行Hstore ActiveRecord查询

来自分类Dev

postgres hstore存在并且不同时存在

来自分类Dev

postgres hstore存在并且不同时存在

来自分类Dev

如何使用PostgreSQL C库(libpq)访问HSTORE列?