Django, пользовательские поля, to_python и отображение сериализованного текста как есть в админке Django - PullRequest
2 голосов
/ 06 сентября 2011

У меня есть сложный объект, который я храню сериализованным в текстовом поле. В большинстве случаев я хочу, чтобы объект, извлеченный из базы данных, был этим сложным объектом. Однако, когда я редактирую его в форме, я просто хочу увидеть этот сериализованный текст в поле.

Я пытался использовать функцию value_to_string, но похоже, что она вообще не вызывается при редактировании записи с помощью admin.

Что мне делать, чтобы необработанный сериализованный текст отображался в текстовом поле администратора?

Ответы [ 2 ]

0 голосов
/ 03 июля 2012

Я не уверен, что это та же проблема, но я нашел способ изменить значение поля в форме администратора перед его отображением.Я объяснил, как использовать пользовательский виджет и пользовательскую форму администратора в этом ответе .

Обратите внимание, что пользовательский виджет помогает отображать значение только в другом формате.Он не будет анализировать входное значение обратно к объекту, хотя я верю, что это тоже возможно.

0 голосов
/ 07 сентября 2011

Поскольку администратор уже использует значение поля вашей модели, одна опция будет повторно сериализовать его для редактирования ...

См. Также formfield_overrides :

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...