bar - El filtro DateBetweenFilter no funciona en el administrador del matraz
search plugin wordpress (1)
Es posible que no haya agregado el código que invoca a apply () para los filtros definidos en la clase admin en el método get_list ().
Intenta agregar el siguiente código en tu método get_list ().
def get_list(self, page, sort_column, sort_desc, search, filters,
execute=True, page_size=None):
"""
Get list of objects
"""
query = self.get_query(page, page_size)
for flt, k, value in filters:
query = self._filters[flt].apply(query, value, page_size)
Creé un datetimefilter
de datetimefilter
y datetimefilter
personalizado en el administrador del matraz y se ve bien (puede seleccionar el rango de fecha y hora) en la interfaz de usuario, pero no funciona en la funcionalidad. Creo que el método de aplicar no funciona. La tabla que voy a aplicar este filtro está en Cassandra
.
from flask_admin.contrib.sqla.filters import BaseSQLAFilter
from flask_admin.model import filters
class DateBetweenFilter(BaseSQLAFilter, filters.BaseDateBetweenFilter):
def __init__(self, column, name, options=None, data_type=None):
super(DateBetweenFilter, self).__init__(column,
name,
options,
data_type=''daterangepicker'')
def apply(self, query, value, alias=None):
start, end = value
return query.filter(self.get_column(alias).between(start, end))
y la clase de administración correspondiente que usa el filtro
class SearchAdminView(BaseModelView):
column_filters = [
DateBetweenFilter(
Search.created_date, ''Created Date''
)
]
¿Qué me estoy perdiendo?