Först ett ord av varning, detta är inte bara ett relationsschema utan ett rekursivt relationellt. Du kan följa relationerna och sluta ladda alla UserAccount
objekt.
Kom ihåg att det finns inga anslutningar i MongoDB - så du ber klientkoden (mongoengine) att utföra i applikationsanslutningar åt dig - vilket innebär flera frågor och sedan tilldela resultaten till rätt dokument - det är dyrt. Så fråga dig själv "är detta rätt verktyg för jobbet? "
Dina observationer är dock korrekta - som standard select_related()
går bara ner en enstaka relation så för ett användarobjekt kommer det bara att avreferera den första uppsättningen vänner och inte deras vänner. Du kan ändra djupet genom att skicka det till select_related(max_depth=2)
.