私のDBモデルの1つにslugフィールドを作成しようとしています。 Flask-SQLAlchemyとFlask-Adminを使用しています。私のクラスは次のように定義されています。私はフラスコ-Admin]を使用して新しい商人を作成していたときに、それは動作しません。しかしSQL Alchemy/FlaskAdminのSlugフィールド
def __init__(self, *args, **kwargs):
if not 'slug' in kwargs:
kwargs['slug'] = slugify(kwargs.get('name', ''))
super().__init__(*args, **kwargs)
:
class Merchant(db.Model):
__tablename__ = 'merchants'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String())
...
slug = db.Column(db.String())
def __repr__(self):
return 'Merchant: {}'.format(self.name)
私はこのquestionからこのような何かを実装しようとしてきました。
理由を調べようとして、init関数を単にprint kwargs
に変更しました。 Flask-Adminで新しいMerchantを作成すると、{}
が印刷されますが、Merchant(name ='test')
のようなPythonシェルでは、{'name' : 'test'}
が印刷されます。
私はFlask-Adminから自分のクラスに渡された引数にどのようにアクセスできますか?
驚くばかりです。ありがとう。 – GMarsh
@GMarsh編集のおかげで、私はそれについて忘れてしまった:) –