У меня проблема при попытке создать новый тип поля модели - postgres time [].
Благодаря psycopg2 информация из базы данных готова и преобразована в список python.
список выглядит так:
[[datetime.time(0, 0), datetime.time(23, 59, 59)], [datetime.time(0, 0), datetime.time(23, 59, 59)], [datetime.time(0, 0), datetime.time(23, 59, 59)], [datetime.time(0, 0), datetime.time(23, 59, 59)], [datetime.time(0, 0), datetime.time(23, 59, 59)], [datetime.time(0, 0), datetime.time(23, 59, 59)], [datetime.time(0, 0), datetime.time(23, 59, 59)]]
Теперь я могу создать виджет, который использует JavaScript для преобразования его во время.Но мне кажется, что это может быть сделано быстрее на стороне Python, и, поскольку все виды виджетов для выбора времени имеют дело со временем в формате% H:% M:% S, выглядит разумным как получать, так и давать данные в одном и том же формате.Преобразование данных обратно в строку, то есть datetime.time (0, 0), тоже выглядит не очень хорошо.
Итак, все, что заставляет меня спросить - какой метод django.db.models.fields.Field класс вызывается после чтения базы данных?из https://docs.djangoproject.com/en/dev/howto/custom-model-fields/ похоже, что это должен быть Field.to_python, но когда я добавляю метод вроде:
def to_python(self, value):
return 'xxx'
в мое поле, тогда я все равно вижу ранее добавленный список datetime в моем входе, а не'xxx'
Может кто-нибудь помочь мне разобраться, пожалуйста:)
Алан