2

私は次のモデルを持っています:

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()

1 から 3 までではなく、3 番目の ID のみを保存します。したがって、1 回だけ保存されます。しかし、3 つのレコードすべてをループしたいのですが、なぜこのようなことが起こるのでしょうか? すべての People テーブル ID を Salary テーブルに追加する方法は?

4

1 に答える 1

8

Salary オブジェクトを 1 つ作成し、それを 3 回更新しています。3 つの個別のオブジェクトを作成する必要があります。

for each in People.objects.all()[:3]:
    item_salary=Salary()
    item_salary.id_of_people_id=each.id
    item_salary.save()
于 2012-09-24T19:49:59.780 に答える