1

私はこれで何が間違っていますか?? 例外がスローされます。

例外: 無効なフィールド: 列が含まれていません。

実際には、部屋の費用を含む 3 つの異なる列から結果をフィルター処理したいと考えています。3 つの部屋から特定の条件を満たす部屋があれば、それがリストに表示されます。そのため、カスタム フィルターを作成したいと考えています。

私を助けてください。前もって感謝します。

    from flask.ext.admin.babel import lazy_gettext
    from flask.ext.admin.model import filters

    class MyBaseFilter(filters.BaseFilter):
        """
            Base SQLAlchemy filter.
        """
        def __init__(self, column, name, options=None, data_type=None):
            """
                Constructor.

                :param column:
                    Model field
                :param name:
                    Display name
                :param options:
                    Fixed set of options
                :param data_type:
                    Client data type
            """
            super(MyBaseFilter, self).__init__(name, options, data_type)

            self.column = column

    class Views():
        class HotelAdmin(ModelView):
            class FilterCost(MyBaseFilter):
                def apply(self, query, value):
                    return query.filter(self.column > value)

                def operation(self):
                    return lazy_gettext('Cost')


            column_labels = {'hotel_name':'Hotel Details'}
            column_list = ('hotel_name','website')
            column_searchable_list = ('city',)
            column_filters = (FilterCost(Table.Hotel.deluxe_room,'Cost'),'state')
4

1 に答える 1

0

私は次のことを行いましたが、うまくいきました:

追加:flask.ext.admin.contrib.sqlaインポートフィルターから

削除:flask.ext.admin.model インポート フィルターおよびクラス MyBaseFilter(filters.BaseFilter) から

次に、フィルター クラスで「filters.BaseSQLAFilter」を継承しました。

しかし、それでも、「class MyBaseFilter(filters.BaseFilter)」を使用するにはどうすればよいですか? それでもエラーがスローされます。

于 2014-09-23T14:42:35.690 に答える