Я запрограммировал небольшую систему блога в Python, Flask и сделал небольшой шаблон, где я могу редактировать сообщения с помощью CKEdit. У меня есть пять сообщений:Странное поведение SQLAlchemy при обновлении записей
A, B, C, D, E
Если я хочу, чтобы обновить запись A, как только я сделал правку, я на самом деле получить отредактирован +3 сообщения, в этом случае, после D. Все исходное содержание пост D переписывается по отредактированному контенту A, а исходное содержание A нетронуто.
Это происходит во всех сообщениях, кроме последнего. Если я хочу редактировать D, я получаю редактирование сообщения B, но я редактирую E, пост успешно редактируется.
Я думаю, что это некоторая проблема с указателем базы данных, но не знаю, как работать с ней.
Код обновления это:
def set_post(title, text, timestamp, page):
if page != '': #Update
data = Post.query.get(page)
data.title = title
data.text = text
db.session.commit()
[..]
Я уже проверил полученную «страницу» переменная правильно (вспышка (страница) только после того, если предложение).
Основной двигатель базы данных SQLLite 3.
Вы уверены, что переменная страницы на самом деле является первичным ключом? Можете ли вы показать нам модели, строки, а также какую страницу? – univerio
Пожалуйста, выберите [mcve]. – davidism