从Django admin中排除UUID字段

时间:2015-12-21 16:14:50

标签: python django django-admin

我在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字段没有影响。

我不需要从管理界面以任何方式操纵或编辑此字段,只需将其隐藏,以免管理员崩溃。

1 个答案:

答案 0 :(得分:1)

我不确定你从哪里导入,但是自1.7版以来,Django已经包含了自己的UUIDField。你当然应该使用它。