Django遍历所有要保存的项目,但它只保存一条记录

时间:2012-09-24 19:35:11

标签: python django

我有下一个型号:

class People(models.Model):
    name = models.CharField(max_length=100)
    lastname = models.CharField(max_length=100)

class Salary(models.Model):
    id_of_people=models.ForeignKey(People)
    salary = models.IntegerField(required=False)

在views.py

- 当我尝试这个时:

    for each in People.objects.all()[:3]:
            Salary().id_of_people_id=each.id
            Salary().save()

它只保存3 Th id,而不是1到3.因此,它只节省一次。但是,我想循环遍历所有3条记录,为什么会这样?如何将所有People表ID添加到Salary表?

1 个答案:

答案 0 :(得分:5)

您正在创建一个Salary对象并将其更新三次。您需要创建三个单独的对象。

for each in People.objects.all()[:3]:
    item_salary=Salary()
    item_salary.id_of_people_id=each.id
    item_salary.save()