Django Сохраните список элементов в промежуточной таблице M2M

StackOverflow https://stackoverflow.com/questions/3113779

  •  29-09-2019
  •  | 
  •  

Вопрос

У меня есть поле M2M в классе и таблица. Я не таблица, чтобы сохранить список элементов из таблицы сквозной. Если у меня есть форма с несколькими выборами, как ниже, и я хочу иметь возможность сохранить все выбранные элементы, как мне это сделать ??

Моя модель выглядит так:

class ClassroomForm(ModelForm):
    class Meta:
          model = Classroom
          fields = ['classname','members','private']

    def __init__(self, *args, **kwargs):
                creator = kwargs.pop('user')
  super(ClassroomForm, self).__init__(*args, **kwargs)
  relations = Relations.objects.filter(initiated_by = creator)
  self.fields["members"].queryset = \
       User.objects.filter(pk__in=[r.follow.pk for r in relations])

И мой метод сохранения как это:

def save_classroom(request):
   classroom_instance = Classroom()
   if request.method == 'POST':
        form = ClassroomForm(request.POST, request.FILES, user = request.user) 
        if form.is_valid():
           new_obj = form.save(commit=False)
           new_obj.user = request.user 
           new_obj.save()
           membership = Membership(member = HERE SELECTED ITEMS FROM FORM,classroom=new_obj)

           membership.save() 

Как это можно сделать? Спасибо!

Это было полезно?

Решение

Похоже, вы дублировали вопрос. Я покладываю ответ здесь:Django m2m форма сохранения "через" таблицу "

Другие советы

Джанго должен обрабатывать модульформы для многих ко многим, так же, как любая другая форма модели.

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

Справка:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top