django patch 解决 ["'15428560000' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."]


__init__.py

import datetime

from django.apps import AppConfig
from django.db.models.fields import DateTimeField

default_app_config = 'patch.PatchConfig'


def patch():
    def get_db_prep_value(self, value, connection, prepared=False):
        if isinstance(value, str):
            try:
                value = datetime.datetime.fromtimestamp(int(value))
            except:
                raise

        if not prepared:
            value = self.get_prep_value(value)
        return connection.ops.adapt_datetimefield_value(value)

    DateTimeField.get_db_prep_value = get_db_prep_value


class PatchConfig(AppConfig):
    name = 'patch'

    def ready(self):
        patch()


目录结构
├── patch
│   └── __init__.py

settings.py

INSTALLED_APPS = [
    'patch',
    ....
   ]


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM