I have a little problem with adding new instances using flask-admin. My model is:
class MenuCategory(db.Model):
id = db.Column(db.Integer, primary_key=True)
name_category = db.Column(db.String(20), unique=True)
slug = db.Column(db.String(255))
order = db.Column(db.Integer)
path = db.Column(db.Unicode(128))
def __init__(self, **kwargs):
if not 'slug' in kwargs:
kwargs['slug'] = slugify(kwargs.get('name_category', ''))
super().__init__(**kwargs)
def __repr__(self):
return f'<Category {self.name_category}>'
And also ModelView is:
class MenuCategoryView(ModelView):
column_labels = dict(name_category='Наименование категории', order='Приоритет', path='Изображение')
column_editable_list = ('name_category', 'order')
column_default_sort = 'order'
form_excluded_columns = ('slug')
When i create new instance in also should add "slug" value. It works fine in terminal with flask shell:
>>> m = MenuCategory(name_category='Something here')
{'name_category': 'Something here', 'slug': 'something-here'}
>>> db.session.add(m)
>>> db.session.commit()
But when i create new instance with flask-admin, it just add a new one without "slug" and NULL value. Can someone tell me what I'm doing wrong?