2016-08-17 3 views
0

Ich habe Zugriff auf meine andere Datenbank ganz gut mit db_alias für die meisten Felder. Bei Modellen mit FileField() oder ImageField() konnte ich jedoch nicht auf die Datei in der anderen Datenbank zugreifen. Kann db_alias nicht korrekt mit fs.files und fs chunks in der anderen Datenbank verbunden werden?mongoengine Zugriff gridfs in mehreren Datenbanken

class File(db.Document): 
    file = db.ImageField() 
    meta = {"db_alias": "OtherDB"} 

for i in File.objects.all(): 
    print i.file   # Shows '<ImageGridFsProxy: (no file)>' 
    print i.file.length # Shows 'AttributeError' 

Antwort

1

Bei der Suche nach Mongoengine-Ausgaben auf GitHub stieß ich auf eine, die mir einen Hinweis gab. Grundsätzlich ist es für FileField() oder ImageField() erforderlich, db_alias direkt in das Feld zu platzieren. Zum Beispiel funktioniert das:

class File(db.Document): 
    file = db.ImageField(db_alias="OtherDB") 
Verwandte Themen