4

例如,我有两个模型:

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

class Job(models.Model):
    title = models.CharField(max_length=100)
    person = models.ForeignKey(Person)

我有一份工作 ID 列表——

job_ids = [1, 2, ....] 

是作业模型实例的pks

我知道我能做到——

for id in job_ids:
    person.jobs.add(job_id)

但这将比我能做的要多得多——

person.jobs.add(job_ids)

它将解压列表并使用 bulk_create。我该怎么做呢?谢谢。

4

1 回答 1

3

你有没有尝试过

person.jobs.add(*job_ids)

在我的例子中,我使用了一个过滤器查询并有一个对象列表(而不是 ID)。我收到类似的错误

TypeError: 'MyModel' instance expected, got [<MyModel: MyModel Object>]

...在我包括星号之前。

信用(另一个SO问题)

于 2014-09-02T20:34:05.663 回答