对于大多数字段,我使用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'
答案 0 :(得分:1)
通过mongoengine搜索关于github的报告我遇到了一个给我一个提示的报告。基本上,对于FileField()
或ImageField()
,必须将db_alias直接放入字段中。例如,这有效:
class File(db.Document):
file = db.ImageField(db_alias="OtherDB")