2015-12-21 2 views
-1

У меня есть поле UUID в Django 1.6, импортированное из django-uuidfield v0.4.0. Я не могу изменить версии Django.Исключить поле UUID от администратора Django

id = uuidfield.UIIDField() 

И все это хорошо, за исключением того, при попытке просмотра модели в администратора, когда появится эта ошибка:

ожидается объект символьного буфера

Проблема, кажется, be this line:

return mark_safe(force_text(value).translate(_js_escapes)) 

с сайта-пакетов/django/utils/fu nctional.py

Я попытался исключить это поле из точки зрения администратора, исключая ее специально

exclude=('id',) 

и включение другого поля в явном виде, надеясь, что он будет обрабатывать только это поле, а не поле ID (как указывают документы).

include = ('email',) 

Но ошибка сохраняется. Кажется, что сайт Admin все равно изучает поля, игнорируя любые настройки в настройке администратора. Я также установил «editable = False» в определении модели без влияния на поле id.

Мне не нужно каким-либо образом манипулировать или редактировать это поле с экрана администратора, просто спрячьте его, чтобы он не сбил администратора.

ответ

1

Я не уверен, где вы импортируете это, но Django включил свой собственный UUIDField с версии 1.7. Вы, конечно, должны использовать это вместо этого.

+0

Похоже, что это происходит из django-uuidfield == 0.4.0, и я не смогу обновить до 1.7 для этой работы, что, очевидно, было бы идеальным. – Paul

+0

Я действительно не забочусь о поле или его ценности, я просто хочу исключить его из-за сбоя администратора. Это было бы исключено в любом случае из настройки администратора, поскольку это не обязательно – Paul

+0

FYI Это на самом деле с 1.8, а не 1.7 – Paul

Смежные вопросы