Reputation: 65
There is a model
class Article(db.Model, Base):
id = db.Column(db.Integer(), primary_key=True)
title = db.Column(db.String())
description = db.Column(db.Text())
url = db.Column(db.String())
created_on = db.Column(db.DateTime(), server_default=db.func.now())
updated_on = db.Column(db.DateTime(), server_default=db.func.now(), onupdate=db.func.now())
author = db.Column(db.Integer(), db.ForeignKey('user.id'))
category = db.Column(db.Integer(), db.ForeignKey('category.id'))
def __init__(self, title="", description="", author="", category=""):
self.title = title
self.author = author
self.category = category
self.description = description
self.url = slugify(title)
flask-admin generate this form for this model click here
Problem: when i create new record, url field is empty.
Upvotes: 1
Views: 224
Reputation: 385
You can override flask-admin save method, like this:
class Article(db.Model, Base):
id = db.Column(db.Integer(), primary_key=True)
title = db.Column(db.String())
description = db.Column(db.Text())
url = db.Column(db.String())
created_on = db.Column(db.DateTime(), server_default=db.func.now())
updated_on = db.Column(db.DateTime(), server_default=db.func.now(), onupdate=db.func.now())
author = db.Column(db.Integer(), db.ForeignKey('user.id'))
category = db.Column(db.Integer(), db.ForeignKey('category.id'))
def save(self, *args, **kwargs):
self.url = slugify(self.title)
return super(Article, self).save(*args, **kwargs)
Upvotes: 1