Я использую Python 3.5, Django 2.0 и Django REST Framework 3.7.7
Я добавил django-jalali 3.0.2 в свои приложения для совместимости с jalali calelndar. Это приложение отлично работает при использовании администратора или оболочки, но когда я отправляю запросы с использованием DRF, объект datetime проверяется с помощью григорианского календаря. В результате я не могу использовать дату со строкой вроде 1397-02-31 или 1397-02-30. Вот ответ, который я получаю:
HTTP 400 Bad Request
Разрешить: ПОЛУЧИТЬ, ПОСТ, ГОЛОВУ, ВАРИАНТЫ
Тип контента: приложение / JSON
Варь: Принять
{
"schedule_time": [
"Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format."
]
}
Эта ошибка происходит из строки 252 django_jalali / db / models.py
try: # Seconds are optional, so try converting seconds first.
t = time.strptime(datetime_obj, '%Y-%m-%d %H:%M:%S')
, поскольку srtptime предполагает datetime_obj
объект Datetime, а не jDatetime. Как упоминалось ранее, это не проблема для администратора или оболочки. Я также протестировал установку языкового стандарта на 'fa_IR'
и смену менеджера объектов, но пока не повезло. Есть ли чистое решение для этого или мне нужно написать собственное приложение?
P.S. Я заметил, что date_hierarchy
в админке использует только Datetime (не jDatetime). Я пытался изменить его, но он не проходит проверку Django. как я могу изменить это на Джалали?
Я также опубликовал это как проблему на django-jalali странице github и все еще жду ответа.