2012-02-05 55 views
2

我在我的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仍然指向正確的汽車?

+0

+1表示奇妙的問題。歡迎來到Stackoverflow! – 2012-02-05 13:14:25

回答

0

只有當對象不存在時,纔可以使用get_or_create進行插入。

+0

這似乎是做的伎倆,謝謝! – joschaf 2012-02-05 13:25:25