【问题标题】:FLask-admin , generatable fieldsFlask-admin ,可生成的字段
【发布时间】:2017-01-13 21:20:46
【问题描述】:

有一个模型

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 为这个模型生成这个表单 click here

问题:创建新记录时,url字段为空。

【问题讨论】:

    标签: python flask flask-admin


    【解决方案1】:

    你可以重写flask-admin保存方法,像这样:

    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)
    

    【讨论】:

      猜你喜欢
      • 2017-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-23
      • 2014-03-08
      • 2014-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多