Django REST框架Jalali日期兼容性问题

时间:2018-05-07 22:52:56

标签: python django django-rest-framework jalali-calendar

我正在使用Python 3.5,Django 2.0和Django REST Framework 3.7.7 我在我的应用程序中添加了django-jalali 3.0.2以获得jalali calelndar兼容性。这个应用程序在使用admin或shell时工作正常,但是当我使用DRF发送请求时,使用公历来验证datetime对象。因此,我不能使用日期与1397-02-31或1397-02-30字符串。这是我得到的回应:

HTTP 400错误请求 允许:GET,POST,HEAD,OPTIONS Content-Type:application / json 变化:接受

{
    "schedule_time": [
        "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format."
    ]
}

这个错误来自django_jalali / db / models.py的第252行

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。如前所述,这不是admin或shell中的问题。我还测试了将区域设置设置为'fa_IR'并更改了对象管理器但到目前为止没有运气。有没有一个干净的解决方案或我是否必须编写自己的应用程序?

P.S。我注意到admin中的date_hierarchy仅使用Datetime(而不是jDatetime)。我尝试改变它,但它失败了django检查。我该怎么把这个改成jalali?

我也在django-jalali github页面上发布了这个问题,仍在等待答案。

0 个答案:

没有答案