2009-07-25 128 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 2017-01-25 06:00:33