2011-12-01 2 views
0

세 개의 외래 키로 새 Django ORM 개체를 만들려고합니다. 이미 외국 열의 ID를 얻었습니다. 내 새 열의 외래 키 열을 채우기 위해 필요한 것입니다. 그러나 DB를 세 번 치지 않고 새 행을 만들 수없는 것 같아요 그 ID에서 개체를 인스턴스화합니다. 내가 좋아하는 것 무엇인스턴스 대신 ID를 사용하여 외래 키로 새 개체를 만듭니다.

foreign_object = models.ForeignObject.get(pk=foreign_object_id) 
a = models.Object1.get_or_create(f = foreign_object) 

이 할 :

그래서 내가해야 할 일을

a = models.Object1.get_or_create(f_id = foreign_object_id) 

f_id 그러나 장고 인식 필드 아니다. 방금 foreign_object_idf에 할당하면 (일부 경우이 기능이 작동하는 것으로 생각됩니다) 장고는 int 대신 ForeignObject 인스턴스를 원한다고 불평합니다.

이 작업을 수행하는 방법은 무엇입니까?

+0

에 이중 밑줄 표기법을 사용해야합니다. 무슨 실수있어? 일부 모델 코드를 보여줄 수 있습니까? – second

답변

1

는이 일을해야이 경우

예를 들어

a = models.Object1.get_or_create(f__pk=foreign_object_id) 
관련 문제