mongoengine访问多个数据库中的gridfs

时间:2016-08-17 22:11:42

标签: mongoengine gridfs

对于大多数字段,我使用db_alias访问我的其他数据库就好了。但是,对于FileField()ImageField()的模型,我无法访问其他数据库中的文件。 db_alias是否未正确链接到其他数据库中的fs.files和fs.chunks?

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'

1 个答案:

答案 0 :(得分:1)

通过mongoengine搜索关于github的报告我遇到了一个给我一个提示的报告。基本上,对于FileField()ImageField(),必须将db_alias直接放入字段中。例如,这有效:

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