如何指向多对多关系中的现有条目?

时间:2012-02-05 11:19:30

标签: database django

我在django数据库中遇到双重条目时遇到问题,希望对您有所帮助。假设我有两个表(person, car),它们通过多对多字段连接起来。每个新条目都会插入一个人,比如他们最喜欢的三辆车。每个人都是独一无二的,汽车不是。现在,在添加汽车之前,我想检查所述汽车是否已经在car表中(即其他人也喜欢它)。如果是这样,请不要添加新的汽车条目,而是链接到现有条目。这就是我到目前为止所做的:

newPerson = project.models.Person.objects.create(…)

for i in range(len(cars)):
    newCar = project.models.Car.objects.create(car=cars[i])
    newPerson.cars.add(newCar)

如何确保没有两次进入汽车且person仍指向正确的汽车?

1 个答案:

答案 0 :(得分:0)

只有在对象不存在时才可以使用get_or_create插入。