dpgaspar / Flask-AppBuilder

Simple and rapid application development framework, built on top of Flask. includes detailed security, auto CRUD generation for your models, google charts and much more. Demo (login with guest/welcome) - http://flaskappbuilder.pythonanywhere.com/
BSD 3-Clause "New" or "Revised" License
4.68k stars 1.36k forks source link

[example error] in the example quickhowto2 page doesnot show properly #1674

Closed thinksource closed 2 years ago

thinksource commented 3 years ago

If you'd like to report a bug in Flask-Appbuilder, fill out the template below. Provide any extra information that may be useful

Responsible disclosure: We want to keep Flask-AppBuilder safe for everyone. If you've discovered a security vulnerability please report to danielvazgaspar@gmail.com.

Environment

Flask-Appbuilder version: 3.1.1

python: 3.8

pip freeze output:

Steps to reproduce

the quickhowto2 example:

1, install data by: python datatest.py

2,create admin by flask fab create-admin

3, run app by: flask run --host 0.0.0.0

4, visit address: http://localhost:5000/contactchartview/chart/1

and the error happens:

2021-07-30 11:36:37,635:INFO:werkzeug:127.0.0.1 - - [30/Jul/2021 11:36:37] "GET /contactchartview/chart/1 HTTP/1.1" 500 -
Traceback (most recent call last):
  File "C:\Anaconda3\lib\site-packages\flask\app.py", line 2463, in __call__
    return self.wsgi_app(environ, start_response)
  File "C:\Anaconda3\lib\site-packages\flask\app.py", line 2449, in wsgi_app
    response = self.handle_exception(e)
  File "C:\Anaconda3\lib\site-packages\flask\app.py", line 1866, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Anaconda3\lib\site-packages\flask\_compat.py", line 39, in reraise
    raise value
  File "C:\Anaconda3\lib\site-packages\flask\app.py", line 2446, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Anaconda3\lib\site-packages\flask\app.py", line 1951, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Anaconda3\lib\site-packages\flask\app.py", line 1820, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Anaconda3\lib\site-packages\flask\_compat.py", line 39, in reraise
    raise value
  File "C:\Anaconda3\lib\site-packages\flask\app.py", line 1949, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Anaconda3\lib\site-packages\flask\app.py", line 1935, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "C:\Anaconda3\lib\site-packages\flask_appbuilder\security\decorators.py", line 109, in wraps
    return f(self, *args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\flask_appbuilder\charts\views.py", line 205, in chart
    order_direction="asc",
  File "C:\Anaconda3\lib\site-packages\flask_appbuilder\charts\views.py", line 180, in _get_chart_widget
    group.apply(lst, sort=order_column == ""), self.label_columns
  File "C:\Anaconda3\lib\site-packages\flask_appbuilder\models\group.py", line 343, in apply
    data = sorted(data, key=self.attrgetter(*self.group_bys_cols))
TypeError: '<' not supported between instances of 'Gender' and 'Gender'
enricosecco commented 2 years ago

In views.py line 182 modify: {"group": "gender", "series": [(aggregate_count, "gender")]}, {"group": "gender.name", "series": [(aggregate_count, "gender")]}, because is not defined an order by object but by object.name For me this solves.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Feel free to reopen it if it's still relevant to you. Thank you