Django 我需要在将数据从数据库放入模型之前截取数据,反之亦然

Django 我需要在将数据从数据库放入模型之前截取数据,反之亦然,django,django-models,django-admin,Django,Django Models,Django Admin,数据库中存储的数据是HTML。我无法改变这一事实,但我想把它隐藏在我的django管理站点中 在数据库填充模型之前,我想捕获它并将html实体转换为unicode。当模型保存到数据库中时,我想反转这个过程 我可以完成从HTML实体到unicode的实际转换,反之亦然,但我对Django了解不够,无法完成这项工作 我已经研究过管理员的模型表单,但是当数据显示在列表或站点上的其他位置时,这将不起作用 挂接此字段的最佳方式是在哪里/如何挂接?如果您希望自动将其挂接到调用/保存此字段的任何内容,请查看制

数据库中存储的数据是HTML。我无法改变这一事实,但我想把它隐藏在我的django管理站点中

在数据库填充模型之前,我想捕获它并将html实体转换为unicode。当模型保存到数据库中时,我想反转这个过程

我可以完成从HTML实体到unicode的实际转换,反之亦然,但我对Django了解不够,无法完成这项工作

我已经研究过管理员的模型表单,但是当数据显示在列表或站点上的其他位置时,这将不起作用

挂接此字段的最佳方式是在哪里/如何挂接?

如果您希望自动将其挂接到调用/保存此字段的任何内容,请查看制作一个链接。具体来说,在
到_python
中设置数据库到模型的转换,在
获取_prep_值
中设置模型到数据库的转换

如果这是专门针对管理员某个区域的行为,您还可以在
ModelAdmin
中设置所有行为<代码>列表\u显示可以指向只读字段,该字段可以对输出执行任何操作

纯管理员:

class ModelAdmin(admin.ModelAdmin):
    list_display = ('_myfield',)
    readonly_fields = ('_myfield', )
    form = MyModelForm # modelform with overriden save() and init
    # converting values to / from db.

    def _myfield(self, obj):
        return whatever_conversion_here(obj.myfield)
如果您希望自动将其添加到调用/保存此字段的任何内容,请查看是否进行了更改。具体来说,在
到_python
中设置数据库到模型的转换,在
获取_prep_值
中设置模型到数据库的转换

如果这是专门针对管理员某个区域的行为,您还可以在
ModelAdmin
中设置所有行为<代码>列表\u显示可以指向只读字段,该字段可以对输出执行任何操作

纯管理员:

class ModelAdmin(admin.ModelAdmin):
    list_display = ('_myfield',)
    readonly_fields = ('_myfield', )
    form = MyModelForm # modelform with overriden save() and init
    # converting values to / from db.

    def _myfield(self, obj):
        return whatever_conversion_here(obj.myfield)

使用自定义字段的效果非常好。确保将
\uuuuuuuuuuuuuuuuuuuuu元类=models.SubfieldBase
设置为python
获取\u prep\u值
以正常工作。@DavidM.Coe,感谢更新!自定义字段很棒!使用自定义字段的效果非常好。确保将
\uuuuuuuuuuuuuuuuuuuuu元类=models.SubfieldBase
设置为python
获取\u prep\u值
以正常工作。@DavidM.Coe,感谢更新!自定义字段很棒!魔术