Django GenericForeignKey Widget: использование значения одного поля внутри другого виджета - PullRequest
2 голосов
/ 14 октября 2010

У меня есть GenericForeignKey в строке на странице администратора.Будучи GenericFK, в нем задействованы 2 поля: ContentType FK и целочисленное поле object_id.GenericFK, конечно, может указывать на множество моделей и объектов, некоторые из которых имеют поля изображения, а другие - нет.Моя цель состоит в том, чтобы настроить один из виджетов (это может быть любой из них, но я пытаюсь использовать объект object_id) так, чтобы, если объект, на который указывает GenericFK, имел изображение, он отображал его эскиз.

Проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как виджет может узнать значение другого поля при его рисовании, поскольку для виджета поля object_id или ContentType найти какой объект GenericFKуказывает на то, что нужны оба значения.Есть ли способ сделать это, если не делать это совсем иначе, например, использовать вызовы AJAX для извлечения миниатюр после загрузки страницы?

1 Ответ

0 голосов
/ 29 августа 2012

У меня нет законченного решения, но посмотрите на:
https://docs.djangoproject.com/en/1.4/ref/forms/widgets/#multiwidget и
https://docs.djangoproject.com/en/1.4/ref/forms/fields/#django.forms.MultiValueField

Теперь, поле Django GenericForeignKey, к сожалению, не наследуется от MultiValueField (или даже models.Field!), Но, возможно, вы могли бы создать свой собственный класс поля, который наследует от обоих ... вы бы тогда были в пути чтобы иметь возможность использовать MultiWidget

...