如何通过AJAX调用更新django中的M2M字段

如何通过AJAX调用更新django中的M2M字段,ajax,django,many-to-many,manyrelatedmanager,Ajax,Django,Many To Many,Manyrelatedmanager,我正在django中构建一个用户配置文件,我希望用户在其中输入他的技能集。技能字段是型号名称Skills的manytomy字段。下面显示了models.py文件 class UserProfile(models.Model): name = models.CharField(max_length = 300, null = True, blank=True) location = models.CharField(max_length=500, null=True, blank

我正在django中构建一个用户配置文件,我希望用户在其中输入他的技能集。技能字段是型号名称
Skills
manytomy
字段。下面显示了
models.py
文件

class UserProfile(models.Model):

    name = models.CharField(max_length = 300, null = True, blank=True)
    location = models.CharField(max_length=500, null=True, blank=True)
    birthday = models.DateField(null = True, blank = True)
    user = models.ForeignKey(User, unique=True)
    skills = models.ManyToManyField(Skill, blank=True, null=True)


class Skill(models.Model):
    name = models.CharField(max_length=50)

    def __unicode__(self):
        return u'%s' %(self.name)
如您所见,所有字段都设置为
null=True
。这是因为我将字段保留为空,并希望用户在需要时输入它们。因此,我正在使用AJAX调用更新所有这些字段。我已成功编辑了所有其他字段,但我不知道如何编辑
M2M字段

我可以使用
profile.skills.all()
获得链接到配置文件的所有技能的列表,但我不知道如何更新此列表。我基本上想从这个列表中添加或删除技能对象。我认为在
django.db.models.fields.related.ManyRelatedManager
中有一些东西可以用来编辑字段


非常感谢您的帮助。关于这个问题,我一点也没发现。有一些关于使用模型表单编辑此字段的信息,但没有关于编辑单个字段的信息。

要编辑m2m中间表,请使用
ManyRelatedManager
上的
add
remove
方法


没错,在django文档上搜索最难的东西是manytomanyfield和其他连续字符串。我在博客上写了很多关于
formfield\u的内容,只是为了让自己出现在搜索结果中。

我想我的问题措辞错误,我不想编辑技能对象本身,但我想编辑个人资料模型中的M2M字段,通过编辑,我的意思是我想在我的
档案中添加或删除
skill
对象。skills
哦,我的错误
profile.skills.add(object\u id)
profile.skills.remove(object\u id)
将添加和删除技能。你可以直接通过
profile.skills.through
过滤它们,这只是另一个django模型。我不知道如何通过
profile.skills过滤它们。通过
你能给我一个链接吗。非常感谢您的帮助您可以直接从
ManyRelatedManager
profile.skills.filter(foo=bar)
中进行筛选,它已被约束到当前模型。