class GiftAdmin(ModelView): form = GiftForm can_view_details = True details_modal = True column_details_list = ('gift_id', 'product_id', 'credit_type', 'credit_value', 'on_sale') column_list = ('gift_id', 'product_id', 'credit_type', 'credit_value', 'on_sale') column_labels = dict(gift_id=u'礼物ID', product_id=u'物品', credit_type=u'价格类型', credit_value=u'价格数值', on_sale=u'是否在售') column_formatters = dict( credit_type=lambda v, c, m, n: get_choices_desc(CREDIT_TYPE, m.credit_type), product_id=lambda v, c, m, n: get_choices_desc(Product.all_gifts_for_admin(), m.product_id) ) def create_form(self, obj=None): form = super(GiftAdmin, self).create_form(obj) form.product_id.choices = Product.all_gifts_for_admin() return form def edit_form(self, obj=None): form = super(GiftAdmin, self).edit_form(obj) form.product_id.choices = Product.all_gifts_for_admin() return form def after_model_change(self, form, model, is_created): super(GiftAdmin, self).after_model_change(form, model, is_created) Redis.delete(ONSALE_GIFT_KEY) def after_model_delete(self, model): super(GiftAdmin, self).after_model_delete(model) Redis.delete(ONSALE_GIFT_KEY)
def edit_form(self, obj=None): form = super(GiftAdmin, self).edit_form(obj) form.product_id.choices = Product.all_gifts_for_admin() return form