2009-07-25 22 views
44

nie mogę go nigdzie znaleźć, więc pomoc będzie miły dla mnie :) Tu jest pole:jak dodać dane do 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) 

Oto formularz do wysłania:

<input type="checkbox" name="val1" /> 
<input type="checkbox" name="val2" /> 
<input type="checkbox" name="val3" /> 

próbowałem coś takiego:

categories = fragmentCategory.objects.get(id=1), 

Lub:

categories = [1,2] 

Odpowiedz

80

Jest cała strona dokumentacji Django devoted to this, dobrze indeksowane od strony treści.

W tejże stronie, trzeba zrobić:

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

lub

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

Czy wtedy trzeba zadzwonić 'my_obj.save()' aby zapisać aktualizację lub jest to wykonywane automatycznie ? – CpILL

+2

@CpILL Wydaje się, że zostanie wykonane automatycznie. Wypróbuj go w 'python manage.py shell'. – Rikki

Powiązane problemy