2009-07-25 1 views
44

я не могу найти его в любом месте, так что ваша помощь будет хорошо для меня :) Вот что поле:Как добавить данные в ManyToManyField?

categories = models.ManyToManyField(fragmentCategory) 

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] 

ответ

80

Там целая страница документации Django devoted to this, хорошо индексируются страницы содержимого.

В этой странице состояний, что вам нужно сделать:

my_obj.categories.add(fragmentCategory.objects.get(id=1)) 

или

my_obj.categories.create(name='val1') 
+5

ли вам то нужно вызвать 'my_obj.save()', чтобы сохранить обновление или это делается автоматически ? – CpILL

+2

@CpILL Кажется, это делается автоматически. Попробуйте его в 'python manage.py shell'. – Rikki