我正在 django 中建立一个用户个人资料,我希望用户在其中输入他的技能集。技能字段是ManyToMany
模型名称的字段Skills
。下面显示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 field
我可以获取链接到个人资料的所有技能列表,profile.skills.all()
但我不知道如何更新此列表。我基本上想从这个列表中添加或删除技能对象。我认为使用中有一些东西django.db.models.fields.related.ManyRelatedManager
可以编辑该字段
非常感谢任何帮助。我在这个问题上根本没有发现任何东西。有一些关于使用 ModelForm 编辑此字段的信息,但没有关于编辑单个字段的信息。