我可以更新到许多领域django

时间:2013-11-14 23:16:17

标签: python-2.7 django-models

我想更新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。

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

1 个答案:

答案 0 :(得分:0)

好的,如果你写:

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

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