私は次のような2つのDjangoモデルを持っています:
class Skill(models.Model):
title = models.CharField(max_length=255)
def __unicode__(self):
return self.title
class UserSkills(models.Model):
user = models.ForeignKey(User)
skill = models.ManyToManyField(Skill)
def __unicode__(self):
return '%s | %s' % (self.user, self.skill)
これで、スキル モデルとユーザーに関連付けられたスキルを同時に更新したい、ユーザーに関連付けられたスキルのリストができました。何かのようなもの:
# cleaned_skills[] is list if unicode strings
for skill in cleaned_skills:
s, created = Skill.objects.get_or_create(title=skill)
s.save()
u, created = UserSkills.objects.get_or_create(skill=s, user=request.user)
u.save()
どういうわけか、これは私には適切ではありません。Skill
とUser
モデルの両方を同時に更新する方法はありますか?