Нигде не могу найти, так что ваша помощь будет мне приятна :) Вот это поле:
categories = models.ManyToManyField(fragmentCategory)
Фрагмент Категория:
class fragmentCategory(models.Model):
CATEGORY_CHOICES = (
('val1', 'value1'),
('val2', 'value2'),
('val3', 'value3'),
)
name = models.CharField(max_length=20, choices=CATEGORY_CHOICES)
Вот форма для отправки:
<input type="checkbox" name="val1" />
<input type="checkbox" name="val2" />
<input type="checkbox" name="val3" />
Я пробовал примерно так:
categories = fragmentCategory.objects.get(id=1),
Или же:
categories = [1,2]
django
django-models
IProblemFactory
источник
источник
my_obj.save()
чтобы сохранить обновление или это делается автоматически?python manage.py shell
.В случае, если кто-то еще окажется здесь, изо всех сил пытаясь настроить поведение сохранения формы Many2Many администратора, вы не можете вызвать
self.instance.my_m2m.add(obj)
своеModelForm.save
переопределение, так какModelForm.save
позже будет заполнен ваш m2m, изself.cleaned_data['my_m2m']
которого будут перезаписаны ваши изменения. Вместо этого позвоните:my_m2ms = list(self.cleaned_data['my_m2ms']) my_m2ms.extend(my_custom_new_m2ms) self.cleaned_data['my_m2ms'] = my_m2ms
(Можно преобразовать входящий QuerySet в список - в
ManyToManyField
любом случае он это делает.)источник