2014-09-23 3 views
0

내가 뭘 잘못하고 있니? 던져진 예외가 발생합니다.플라스크 관리자에서 사용자 정의 필터를 만드는 방법

예외 : 잘못된 입력란 : 열이 없습니다.

실제로 객실 비용이 포함 된 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') 

답변

0

나는 다음 않았고 그것은 일 :

추가 :

제거 flask.ext.admin.contrib.sqla 가져 오기 필터에서 : flask.ext.admin.model 가져 오기에서 필터 AND class MyBaseFilter (filters.BaseFilter)

내 필터 클래스에 "filters.BaseSQLAFilter"를 상속했습니다.

하지만 여전히 "class MyBaseFilter (filters.BaseFilter)"를 어떻게 사용할 수 있습니까? 여전히 오류가 발생하고 있습니다.

관련 문제