Flask-admin: как выполнить действие после встроенного редактирования поля - PullRequest
0 голосов
/ 12 октября 2018

У меня определен следующий объект (таблица):

models.py

class vendors_rfi(db.Model):
    vendor_id = db.Column(db.Integer, db.ForeignKey('vendors.vendorid'), primary_key = True, nullable = False, autoincrement = False)
    update_date = db.Column(db.DateTime, nullable = False, autoincrement = False, default = datetime.datetime.now)
    status = db.Column(db.String(1), nullable = False, autoincrement = False)
    current_round = db.Column(db.Integer, nullable = False, autoincrement = False)

Затем я добавляю представление:

main.py

class vendors_rfi_view(ModelView):
    form_base_class = FlaskForm
    column_list = [vendors.vendor_name, 'status', 'current_round', 'update_date']
    column_editable_list = ['status', 'current_round']
    edit_modal = True
    form_choices = {
        'status': [('E', 'E'), ('R', 'R'), ('N', 'N')],
        'current_round': [('0', '0'), ('1', '1'), ('2', '2')]}

Теперь мне разрешено редактировать статус и текущий раунд (см. Скриншот).

снимок экрана

Однако как мне сделать автообновление столбца Дата обновления до datetime.datetime.now () после изменения статуса или текущего раунда?

Заранее спасибо.

1 Ответ

0 голосов
/ 12 октября 2018

Я использую такую ​​строку, чтобы установить отметку времени для обновления модели:

update_date = db.Column (db.DateTime, onupdate = datetime.utcnow)

...