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