Django REST Framework Проблемы совместимости с датой Jalali - PullRequest
0 голосов
/ 08 мая 2018

Я использую 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 и все еще жду ответа.

...