我想更新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中有:Run,Swim,Bicycle .....
在CtlgExercise中有:“在街上跑20分钟”,输入“Run”,或“在山上跑10分钟”,输入“Run”或“Swim 30 minutes”类型“Swim”...... ..
在UsrExercisePlan中保存用户和锻炼,例如用户:“彼得”,日期:“今天”,ctlg_exercise:“在街上跑20分钟”很好的身份证。现在我想根据“游泳30分钟”替换或更新ctlg_exercise。
更新的最佳方法是什么,我不想删除和添加,谢谢。
答案 0 :(得分:0)
好的,如果你写:
usrExe = UsrExercisePlan.objects.get(user__id=idUser)
usrExe.ctlg_exercise = [newExercise]
自动删除并添加新的Object,但我不知道id字段,因为它正在增加。有人知道Django会发生什么,并且渴望id字段自动增量,也许django重置id字段?