Найти - Пользователи
Полная версия: Flask-admin + обновление поля datetime автоматически при сохранении [решено]
Начало » Python для экспертов » Flask-admin + обновление поля datetime автоматически при сохранении [решено]
1
alexbadaloff
Так я сделал поле dt неактивным:
class TerminalsView(sqla.ModelView):
    form_widget_args = {
        'dt':{
            'disabled':True
        }
    }



Когда я создаю запись, по умолчанию вбивается текущие дата-время:


И вот в чём вопрос. Как можно сделать, чтобы по кнопкам отправить или сохранить, данное поле обновлялось автоматически?
Я только триггером могу это организовать, а посредством sqlalchemy или Flask можно такое сделать?
kise97
# http://stackoverflow.com/questions/13370317/sqlalchemy-default-datetime
import datetime
from sqlalchemy import Column, Integer, DateTime
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Test(Base):
    __tablename__ = 'test'
    id = Column(Integer, primary_key=True)
    created_date = Column(DateTime, default=datetime.datetime.utcnow)
alexbadaloff
Так в том-то и дело, что default отрабатывает, но при создании записи.
Когда же ее меняешь (на скриншоте видно), дата уже есть, она просто не редактируема. И она опять же update делает со старой датой.
А нужно, чтобы то что в поле сейчас игнорировалось и вставлялась новая дата.
kise97
У SQLAlchemy есть такой метод у модели, названия не скажу, не помню уже, но посмотрите в доке.
Singularity
    Column('last_updated', DateTime, onupdate=datetime.datetime.now),
alexbadaloff
Singularity
Column('last_updated', DateTime, onupdate=datetime.datetime.now),

То, что доктор прописал. Найденная по слову onupdate страница в документации
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB