Administrador de matraces:Personalizar el nombre de la tabla para la interfaz de administración

StackOverflow https://stackoverflow.com//questions/22017324

  •  21-12-2019
  •  | 
  •  

Pregunta

Me gusta cambiar la visualización del nombre en el menú de nivel superior de Flask-Admin.Por defecto parece que usa el nombre del modelo calass.Me gusta cambiar eso por un nombre más legible para los humanos.

He visto que en la plantilla "layout.htlm" hay una variable llamada {{ item.name }}.Esto se utiliza para mostrar el nombre del menú.¿Hay alguna manera de cambiarlo por otro nombre o de sobrecargar el nombre en la definición del modelo?

Usando __tablename__ no funciona y romperá el flask-admin interno.¿Existe un equivalente a __repr__ pero para el nombre de la tabla en lugar de la columna.

Saludos

¿Fue útil?

Solución

BaseModelView acepta un argumento llamado name.Si proporciona un valor, se utilizará para mostrarlo en el menú.

from flask.ext.admin.model import BaseModelView

admin.add_view(BaseModelView(MyModel, 'Menu Text'))

Si está utilizando SQLAlchemy:

from flask.ext.admin.contrib.sqla import ModelView

admin.add_view(ModelView(MyModel, db.session, 'Menu Text'))

Aquí he usado argumentos posicionales, pero podría haberlo hecho con la misma facilidad. name='Menu Text' en cambio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top