You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django导出QuillField字段显示对象地址,如何获取实际文本内容?

解决Django Import Export导出QuillField显示对象地址的问题

问题场景:开发Django博客时使用Quill富文本编辑器的QuillField存储文章内容,通过Django Import Export导出文章到Excel时,body列显示的是<django_quill.fields.FieldQuill object at 0x...>这类对象地址,而非实际文本/HTML内容。

解决方案

需要在PostResource中自定义body字段的处理逻辑,明确提取QuillField中的实际内容:

方法1:使用dehydrate_钩子函数

修改resources.py:

from import_export import resources, fields
from .models import Post

class PostResource(resources.ModelResource):
    class Meta:
        model = Post
        # 按需指定需要导出的字段
        fields = ('id', 'title', 'body', 'created_at')

    def dehydrate_body(self, obj):
        # 选择返回纯文本或HTML内容
        # 纯文本:return obj.body.get_text()
        # HTML内容:return obj.body.html
        return obj.body.get_text()

方法2:直接通过字段属性指定

修改resources.py:

from import_export import resources, fields
from .models import Post

class PostResource(resources.ModelResource):
    # 直接通过attribute关联QuillField的内容属性
    body = fields.Field(attribute='body__html')  # 或者body__get_text获取纯文本
    class Meta:
        model = Post
        fields = ('id', 'title', 'body', 'created_at')

说明

QuillField内部封装为FieldQuill对象,导出框架默认只会输出对象的字符串表示(即地址)。通过上述两种方式,我们明确告诉导出框架要提取对象中的get_text()(纯文本)或html(富文本HTML代码)属性值,这样导出的body列就会显示实际内容。

内容的提问来源于stack exchange,提问作者mdev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 04:06:27