2017-01-13 9 views
1

モデルフラスコ管理者、生成可能なフィールド

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) 

フラスコ管理者が問題のこのモデルのためにこのフォームを生成 click here

あり:私は新しいレコードを作成するときに、URLフィールドが空です。

答えて

1

あなたはこのように、フラスコ管理者は、メソッドを保存上書きできます。

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) 
関連する問題