zoukankan      html  css  js  c++  java
  • django patch

     1 import datetime
     2 
     3 import pytz
     4 from django.apps import AppConfig
     5 from django.db.models.fields import DateTimeField
     6 from django.utils.dateparse import parse_date
     7 from django.core.exceptions import ValidationError
     8 
     9 default_app_config = 'patch.PatchConfig'
    10 
    11 
    12 def patch():
    13     def get_db_prep_value(self, value, connection, prepared=False):
    14         if isinstance(value, str):
    15             if not value:
    16                 value = None
    17             elif not parse_date(value):
    18                 try:
    19                     value = datetime.datetime.fromtimestamp(int(value)).replace(tzinfo=pytz.UTC)
    20                 except:
    21                     raise ValidationError(
    22                         self.error_messages['invalid'],
    23                         code='invalid',
    24                         params={'value': value},
    25                     )
    26         if not prepared:
    27             value = self.get_prep_value(value)
    28         return connection.ops.adapt_datetimefield_value(value)
    29 
    30     DateTimeField.get_db_prep_value = get_db_prep_value
    31 
    32 
    33 class PatchConfig(AppConfig):
    34     name = 'patch'
    35 
    36     def ready(self):
    37         patch()
  • 相关阅读:
    ccc pool
    ccc 模拟重力 正太分布
    ccc 正态分布
    ccc this 指针
    基本语法HelloWorld
    css选择器
    css基本语法
    表单
    表格
    超链接
  • 原文地址:https://www.cnblogs.com/twotigers/p/10001543.html
Copyright © 2011-2022 走看看