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を使用してこのフィールドを編集することについてはいくつかの情報がありますが、個々のフィールドを編集することについては何もありません。