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

Joh*_*ith 0 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)
Run Code Online (Sandbox Code Playgroud)

在views.py中

- 当我尝试这个时:

    for each in People.objects.all()[:3]:
            Salary().id_of_people_id=each.id
            Salary().save()
Run Code Online (Sandbox Code Playgroud)

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

the*_*tuf 5

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

for each in People.objects.all()[:3]:
    item_salary=Salary()
    item_salary.id_of_people_id=each.id
    item_salary.save()
Run Code Online (Sandbox Code Playgroud)