Commit 84170e85 authored by Serge S. Koval's avatar Serge S. Koval

Fixed #52. Added list_display_pk properties to model views

parent 960cbdd5
......@@ -23,6 +23,7 @@
.. autoattribute:: excluded_list_columns
.. autoattribute:: rename_columns
.. autoattribute:: list_formatters
.. autoattribute:: list_display_pk
.. autoattribute:: sortable_columns
......
......@@ -81,6 +81,8 @@ def index():
class UserAdmin(sqlamodel.ModelView):
inline_models = (UserInfo,)
list_display_pk = True
# Customized Post model admin
class PostAdmin(sqlamodel.ModelView):
......
......@@ -123,7 +123,7 @@ class ModelView(BaseModelView):
if field_class == ForeignKeyField:
columns.append(n)
elif field_class != PrimaryKeyField:
elif self.list_display_pk or field_class != PrimaryKeyField:
columns.append(n)
return columns
......@@ -132,7 +132,7 @@ class ModelView(BaseModelView):
columns = dict()
for n, f in self._get_model_fields():
if type(f) != PrimaryKeyField:
if self.list_display_pk or type(f) != PrimaryKeyField:
columns[n] = f
return columns
......
......@@ -245,7 +245,10 @@ class ModelView(BaseModelView):
# TODO: Check for multiple columns
column = p.columns[0]
if column.foreign_keys or column.primary_key:
if column.foreign_keys:
continue
if not self.list_display_pk and column.primary_key:
continue
columns.append(p.key)
......@@ -270,7 +273,10 @@ class ModelView(BaseModelView):
column = p.columns[0]
# Can't sort by on primary and foreign keys by default
if column.foreign_keys or column.primary_key:
if column.foreign_keys:
continue
if not self.list_display_pk and column.primary_key:
continue
columns[p.key] = column
......
......@@ -147,6 +147,11 @@ class BaseModelView(BaseView, ActionsMixin):
column_filters = ('user', 'email')
"""
list_display_pk = False
"""
Controls if primary key should be displayed in list view.
"""
form = None
"""
Form class. Override if you want to use custom form for your model.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment