Size: a a a

2019 November 25

AN

Alexy Nesterchuk in Python Flask
вернее в базе лежит как 2019-11-25 10:00:00 c фронта в джейсоне приходит на бэк 2019-11-25T10:00:00.000Z а для такого формата нужно другой тип поля использовать(не DateTime) ?
источник

T

Tishka17 in Python Flask
чо
источник

T

Tishka17 in Python Flask
из базы ты читаешь datetime
источник

T

Tishka17 in Python Flask
потом делаешь из него строку
источник

АП

Агент Печенька in Python Flask
Alexy Nesterchuk
вернее в базе лежит как 2019-11-25 10:00:00 c фронта в джейсоне приходит на бэк 2019-11-25T10:00:00.000Z а для такого формата нужно другой тип поля использовать(не DateTime) ?
Различай репрезентацию данных и их значение.
источник

T

Tishka17 in Python Flask
Alexy Nesterchuk
вернее в базе лежит как 2019-11-25 10:00:00 c фронта в джейсоне приходит на бэк 2019-11-25T10:00:00.000Z а для такого формата нужно другой тип поля использовать(не DateTime) ?
а в чем пробелма вообще?
источник

AN

Alexy Nesterchuk in Python Flask
Tishka17
а в чем пробелма вообще?
фронт не может работать с такой датой, попросил что б в базе была дата вида 2019-11-25T10:00:00.000Z думал быстренько в модели формат поставить или что то типа того
источник

T

Tishka17 in Python Flask
Фронт -> строка с датой -> бэк (вьюха) -> datetime ->бэк (psycopg2) -> внутреннее представление протокола postgresql -> база -> внутреннее представление базы
источник

T

Tishka17 in Python Flask
и в обратную сторону
источник

T

Tishka17 in Python Flask
тебе надо патчить не модель, а вьюху
источник

АП

Агент Печенька in Python Flask
Alexy Nesterchuk
фронт не может работать с такой датой, попросил что б в базе была дата вида 2019-11-25T10:00:00.000Z думал быстренько в модели формат поставить или что то типа того
Не трогай модель.
источник

T

Tishka17 in Python Flask
то есть часть, отвечающую за конвертацию в представление json
источник

AN

Alexy Nesterchuk in Python Flask
Tishka17
Фронт -> строка с датой -> бэк (вьюха) -> datetime ->бэк (psycopg2) -> внутреннее представление протокола postgresql -> база -> внутреннее представление базы
спасибо. Мне не понятно почему если я во вью присвою к примеру дату с 2019-11-25T10:00:00.000Z почему оно сохранит его все равно как  2019-11-25 10:00:00 , типа

вью
d = '2019-11-25T10:00:00.000Z'
s_d = datetime.datetime.strftime('%Y-%m-%d %H:%M:%S.%f')
my_model.date  = s_d

то будет  в базе
2019-11-25 10:00:00
источник

T

Tishka17 in Python Flask
потому что в базе не строка, а волшебный единорог
источник

T

Tishka17 in Python Flask
а в какую строку он превратится зависит от того как его попросить
источник

T

Tishka17 in Python Flask
Alexy Nesterchuk
спасибо. Мне не понятно почему если я во вью присвою к примеру дату с 2019-11-25T10:00:00.000Z почему оно сохранит его все равно как  2019-11-25 10:00:00 , типа

вью
d = '2019-11-25T10:00:00.000Z'
s_d = datetime.datetime.strftime('%Y-%m-%d %H:%M:%S.%f')
my_model.date  = s_d

то будет  в базе
2019-11-25 10:00:00
а Z кто будет обрабатывтаь?
источник

A

Alex in Python Flask
Alexy Nesterchuk
спасибо. Мне не понятно почему если я во вью присвою к примеру дату с 2019-11-25T10:00:00.000Z почему оно сохранит его все равно как  2019-11-25 10:00:00 , типа

вью
d = '2019-11-25T10:00:00.000Z'
s_d = datetime.datetime.strftime('%Y-%m-%d %H:%M:%S.%f')
my_model.date  = s_d

то будет  в базе
2019-11-25 10:00:00
Потому что база данных не хранит таймзону
источник

A

Alex in Python Flask
PostgreSQL хранит все время в виде UTC
источник

АП

Агент Печенька in Python Flask
Формально он хранит в неизвестном формате, а выдаёт по уму в утц.
источник

A

Alex in Python Flask
timezone=True (timestamp with time zone поле) всего лишь говорит базе данных обращать внимание на таймзону при парсинге значения в запросе и конвертировать в локальную таймзону при выборке.
источник