我正在玩 mongoengine(0.8.2) 并尝试使用 GridFS 功能编写一些图像。这就是我声明模型的方式:
class Lady(DynamicDocument):
id = ObjectIdField()
name = StringField()
offers = ListField(EmbeddedDocumentField(Offer))
pictures = ListField(ImageField())
所以我想做的是将图片附加到图片字段中。我尝试的是以下内容:
fileA = open('/home/evermean/Pictures/a.jpg', 'r')
fileB = open('/home/evermean/Pictures/b.jpg', 'r')
upload = [fileA, fileB]
files = []
for f in upload:
mf = ImageGridFsProxy()
mf.put(f, content_type = 'image/jpeg')
files.append(mf)
lady.pictures = files
lady.save()
我得到的是以下内容:
Error
Traceback (most recent call last):
File "/home/evermean/Code/django/pourlamour/core/tests.py", line 38, in test_basic_addition
mf.put(f, content_type = 'image/jpeg')
File "/home/evermean/Code/django/env/pourlamour/local/lib/python2.7/site-packages/mongoengine/fields.py", line 1257, in put
field = self.instance._fields[self.key]
AttributeError: 'NoneType' object has no attribute '_fields'
我试图弄清楚出了什么问题,fields.py 中的以下行似乎是负责任的,尽管我不太清楚该怎么做。
field = self.instance._fields[self.key]
我还尝试使用有效的 GridFSProxy ......那么为什么 ImageGridFsProxy 会失败?
有任何想法吗?我的错误在哪里?谢谢你的帮助。