4

私はmongoengine 0.8.4でpymongoバージョン2.6.1を使用しています。そして、で与えられたチュートリアルを使用して1つのコードを作成したい

リンクhttps://mongoengine-odm.readthedocs.org/en/latest/tutorial.html

私のコードは、sample.py ファイルで次のとおりです。

from mongoengine import *
import datetime

class BlogPost(Document):
    title = StringField(required=True, max_length=200)
    posted = DateTimeField(default=datetime.datetime.now)
    tags = ListField(StringField(max_length=50))

class TextPost(BlogPost):
    content = StringField(required=True)

class LinkPost(BlogPost):
    url = StringField(required=True)

ターミナル wnen で実行すると、次のエラーが発生します。

Python 2.7.3 (デフォルト、2013 年 4 月 10 日、05:46:21) [GCC 4.6.3] on linux2 詳細については、「help」、「copyright」、「credits」、または「license」と入力してください。

from sample import Post Traceback (最新の呼び出しは最後): ファイル ""、1 行目、ファイル "sample.py"、9 行目、クラス TextPost(BlogPost): ファイル "/usr/local/lib/python2.7/ dist-packages/mongoengine/base/metaclasses.py"、332 行目、新しい new_class = super_new(cls, name, bases, attrs) ファイル内"/usr/local/lib/python2.7/dist-packages/mongoengine/base /metaclasses.py"、行 120、新しい ベースで。name ) ValueError: ドキュメントの BlogPost をサブクラス化できない可能性があります

私を助けてください。アンインストールして再インストールも試しました。しかし、うまくいきません。

4

1 に答える 1

18

docsを見ると、次のものが必要なようです。

meta = {'allow_inheritance': True}

あなたのBlogPostクラスで。

于 2013-09-06T11:53:09.513 に答える