我在django-uuidfield v0.4.0导入的Django 1.6中有一个UUID字段。我不能改变Django版本。
id = uuidfield.UIIDField()
一切都很好,除非在管理员中尝试查看模型时显示此错误:
期望一个字符缓冲区对象
问题似乎是这一行:
return mark_safe(force_text(value).translate(_js_escapes))
来自site-packages / django / utils / functional.py
我尝试通过专门排除
从管理视图中排除此字段exclude=('id',)
并明确地包含一个不同的字段,希望它只处理该字段而不是ID字段(正如文档似乎表明的那样)。
include = ('email',)
但错误仍然存在。管理员站点似乎正在检查字段,忽略管理员设置中的任何设置。我还在模型定义中设置了'editable = False',对id字段没有影响。
我不需要从管理界面以任何方式操纵或编辑此字段,只需将其隐藏,以免管理员崩溃。