В моем django admin.py у меня есть собственный виджет, основанный на меню выбора.
Я хочу, чтобы он вел себя по-разному (показывать разные элементы), когда он отображается в режиме создания (добавления объекта) или в режиме обновления, поскольку в этих полях пользователь может выбирать видео из размещенного списка воспроизведения.
Я могу передать другой список элементов (аргумент "выборы") при вызове виджета в modelForm, но как я могу получить эту информацию: режим добавления или обновления?
ОБНОВЛЕНИЕ: благодаря второй вот ответ
class VideoAdminForm(forms.ModelForm):
class Meta:
model = Video
widgets = {'id_vimeo' : VimeoSelectWidget()}
def __init__(self, *args, **kwargs):
super(VideoAdminForm, self).__init__(*args, **kwargs)
if self.instance.pk is None:
self.fields['id_vimeo'] = forms.ChoiceField(choices=VimeoList())
else:
self.fields['id_vimeo'] = forms.ChoiceField(choices = Video.objects.all().values_list('id_vimeo','titre'))