Найти - Пользователи
Полная версия: Заполнение ManyToManyField в админке
Начало » Django » Заполнение ManyToManyField в админке
1
Challenger
Всем здравия!

Необходимо заполнить поле ManyToMany в админке (добавить дополнительные значения). Вопрос: как это изящнее и компактнее сделать?

Заранее спасибо! =)
fth
Зажать Ctrl и щёлкнуть на нужные значения? В help_text же об этом прямо вроде говориться. (это вообще-то стандартное поведение select multipile)
Challenger
fth
Зажать Ctrl и щёлкнуть на нужные значения? В help_text же об этом прямо вроде говориться. (это вообще-то стандартное поведение select multipile)
Не, я не про это.
Есть у нас ManyToManyField в модели. Как изменить его значения (choices), чтобы при редактирование\добавление объекта в админке там появлялись дополнительные значения?
Challenger
Проблема решена:

class CatLevel_2_Admin(admin.ModelAdmin):
list_display = ( ‘name’, ‘priority’, )
filter_horizontal = ('items',)

def formfield_for_manytomany(self, db_field, request, **kwargs):
if db_field.name == “items”:
kwargs = CatLevel_3.objects.all() # Здесь меняем как нам надо.
return super(CatLevel_2_Admin, self).formfield_for_manytomany(db_field, request, **kwargs)

Был ещё второй вариант переопределить get_query_set у CatLevel_3
Topacio
Здравствуйте.

Хотелось бы возобновить тему. Задача у меня та же, что и у автора поста - добавить свои значения в выбранный список “Многие ко многим”. Второй день ищу ответ. Пришёл к этому же
def formfield_for_manytomany(self, db_field, request, **kwargs):
if db_field.name == items:
kwargs = CatLevel_3.objects.all() # Здесь меняем как нам надо.
но, поскольку kwargs - это словарь, нужно знать индекс, под которым надо писать это
CatLevel_3.objects.all()
В документации ответа нет. Помогите, пожалуйста.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB