Я создаю профиль пользователя в 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, но ничего о редактировании отдельного поля.