0

我想更新manytomany字段,其他答案比先删除然后添加,但我需要知道是否可能只更新,可能模型:

class CtlgTypeExercise(models.Model):
    type_exercise = models.CharField(max_length=50)

class CtlgExercise(models.Model):
    exercise = models.CharField(max_length=250)
    time = models.IntegerField()
    ctlg_type_exercise = models.ForeignKey('CtlgTypeExercise')

class UsrExercisePlan(models.Model):
    user = models.ManyToManyField(User)
    date = models.DateField()
    ctlg_exercise = models.ManyToManyField('CtlgExercise')

在 CtlgTypeExercise 中有:跑步、游泳、自行车......

在 CtlgExercise 中有:“Run 20 minutes in the street”,类型为“Run”,或“Run 10 minutes in the mountain”,输入“Run”,或“Swim 30 minutes”,输入“Swim”.....

在 UsrExercisePlan 中保存用户和锻炼,例如 user:"Peter", date:"Today", ctlg_exercise:"Run 20 minutes in the street" 以及 id。现在我想每“游泳 30 分钟”更换或更新 ctlg_exercise。

什么是最好的更新方式,我不想删除和添加,谢谢。

4

1 回答 1

0

好的,如果你写:

usrExe = UsrExercisePlan.objects.get(user__id=idUser)
usrExe.ctlg_exercise = [newExercise]

自动删除并添加新对象,但我不知道 id 字段,因为它正在增加。有人知道 Django 和 longs id 字段自动增量会发生什么,也许 django 重置 id 字段?

于 2013-12-03T22:43:23.847 回答