2012-02-05 6 views
2

내 장고 데이터베이스에서 이중 항목에 문제가있어 도움을 바랍니다. 다 대다 필드를 통해 조인 된 두 개의 테이블 (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에 오신 것을 환영합니다! –

답변

0

get_or_create을 사용하면 개체가없는 경우에만 삽입 할 수 있습니다.

+0

이 트릭을 할 것, 감사합니다! – joschaf

관련 문제