2

我正在玩 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 会失败?

有任何想法吗?我的错误在哪里?谢谢你的帮助。

4

0 回答 0