2013-11-14 83 views
0

我想更新多对多领域,别人回答说比先删除后添加的,但我需要知道,如果有可能只更新,可以型号:我可以在许多更新到许多领域的Django

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分钟”,输入“运行“或”游泳30分钟“类型”游泳“.....

在UsrExercisePlan中保存用户和练习,例如用户:”Pet呃“,日期:”今天“,ctlg_exercise:”在街上跑20分钟“以及身份证。现在我想替换或更新ctlg_exercise每“游泳30分钟”。

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

回答

0

好吧,如果你写:

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

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