0

まず第一に、私はPythonの証明ではありません。

ModelViewドキュメント ( http://flask-admin.readthedocs.org/en/latest/api/mod_contrib_sqla/ )に関する次の文を本当に理解しているかどうかはわかりません。

クラスは BaseModelView から構成オプションを継承し、ここには表示されません

私が理解している限り、継承するクラスModelViewは構成オプションを継承する必要がありますBaseModelView

BaseModelView方法がありform_columnsます。ValueError: Invalid model property name <class 'app.models.Idcard'>.n次に、次のコードで次のエラーが発生した理由がわかりません。

models.py

class Idcard(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(128), nullable=False)

    def __repr__(self):
        return '%s' % unicode(self.name)

ビュー.py

class IdcardView(ModelView):
    form_columns = ('name')

admin.add_view(IdcardView(Idcard, db.session)

私がエラーを理解している限り、問題はnameinから来ていますが、form_columns = ('name')これは明らかに私のモデル Class のパラメータですIdcard

誰かがアイデアを持っているなら.....!

4

1 に答える 1

2

プロパティはform_columnsタプルを受け取ります。項目が 1 つのタプルにはコンマが必要です: ('name',).

コンマがない場合、それは単なる文字列であり、flask-admin は各文字の繰り返しに失敗しました (最初の文字は anです)。

したがって、変更するだけです:

class IdcardView(ModelView):
    -form_columns = ('name')
    +form_columns = ('name',)
于 2014-02-26T12:37:38.743 に答える