MongoDB를 사용하여 기존 Django nonrel 응용 프로그램을 사용했습니다. 개체의 관련 필드가 ObjectID로 저장되는 것으로 보입니다. 예를 들어 OneToOneField에 의해 User 개체와 관련된 UserProfile 모델이 있습니다. 내가 장고 nonrel 프로젝트와 장고 - MongoDB의 엔진을 가져 오기 위해 자식 저장소를 사용 Heroku가에서 응용 프로그램을 전개mongoDB에 저장된 Django nonrel 관련 필드가 더 이상 ObjectID로 저장하지 않습니까?
{
"_id": {
"$oid": "4f67540040e0460001000001"
},
"user_id": {
"$oid": "4f67540040e0460001000000"
},
....
}
:처럼 그리고 저장된 객체 데이터이었다. 필자가 사용한 pymongo 버전은 2.1.1입니다. 어떤 라이브러리를 업데이트했는지 확신 할 수 없기 때문에 관련 필드가 더 이상 ObjectId에 저장되지 않은 것으로 나타났습니다. 새 개체 데이터는 다음과 같이 저장됩니다.
{
"_id": {
"$oid": "4f67540040e0460001000001"
},
"user_id": "4f67540040e0460001000000",
....
}
데이터 형식이 일치하지 않아 오류가 발생합니다. 이전에 저장된 객체의 관련 객체를 가져올 수 없었을뿐만 아니라 ("DoesNotExist : UserProfile 일치하는 쿼리가 존재하지 않습니다."). 새로 저장된 오브젝트의 관련 오브젝트는 Piston에서도 가져올 수 없습니다.
requirements.txt의 리포지토리 URL에 리비전 지정자를 추가하려고했지만 이상한 운이 없었습니다.
무슨 일이 일어나고 있는지 아는 사람이 있습니까? 아마도 관련 데이터 ID 값을 수정하기 위해 mongoDB 데이터 업데이트를 수행해야합니까?