1

Flask-peewee を使用しています。管理者に許可を与える方法を探しています。マルチテナンシー管理ダッシュボードを作成したいと考えています。

取引を表示するために作成しました:

class DealsAdmin(ModelAdmin):
    columns = ('deal_name', 'deal_desc', 'created_on')
    exclude = ('created_on','merchand_id')

    def get_query(self):
        loggedin_username=auth.get_logged_in_user()
        merchant=Merchant.select().where(Merchant.id == loggedin_username).get()
        return self.model.select().where(self.model.merchand_id == loggedin_username)

だから今、彼らがフォームを編集したいときにマーチャントIDのloggedinuseridを保持したいと思います.

ここに画像の説明を入力

*画像テキストの編集: Merchant_id はデフォルトで auth.loggedinid でなければなりません

4

1 に答える 1

2

フィールドがフォームに表示されないように削除し、on_model_change にフックします。

class MyDealModelView(ModelView):
    form_excluded_columns = ('merchant_id',)

    def on_model_change(form, model, is_created):
        model.merchant_id = login.current_user.merchant_id;

http://flask-admin.readthedocs.org/en/latest/api/mod_model/#flask.ext.admin.model.BaseModelView.on_model_change

于 2014-06-14T15:49:46.713 に答える