我正在使用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而失败?
有什么想法吗?我的错误在哪里?谢谢你的帮助。