Python Django无法在登录后将记录插入会话

Python Django无法在登录后将记录插入会话,python,sql-server,django,Python,Sql Server,Django,如果你看一下2014-12-30T12:38:53.076000的日期,就会发现毫秒是由6位数字组成的 直接插入到具有相同参数的数据库会返回相同的转换错误 如果将毫秒截断到3个字符,则插入将正常进行 django在何时何地以这种格式创建日期 此错误仅在生产环境中发生。 Python 2.7,Django 1.6.8,操作系统:Windows Server 2008R2,web服务器:IIS 7,数据库服务器:MS SQL 2008R2您可以在settings.py中通过设置来尝试 尝试以下方法

如果你看一下2014-12-30T12:38:53.076000的日期,就会发现毫秒是由6位数字组成的

直接插入到具有相同参数的数据库会返回相同的转换错误

如果将毫秒截断到3个字符,则插入将正常进行

django在何时何地以这种格式创建日期

此错误仅在生产环境中发生。
Python 2.7,Django 1.6.8,操作系统:Windows Server 2008R2,web服务器:IIS 7,数据库服务器:MS SQL 2008R2

您可以在settings.py中通过设置来尝试

尝试以下方法:

Django failed to insert record into session after login with message:
--------------------------------------------------------------------
DatabaseError at /admin/
(-2147352567, 'Exception occurred.', (0, u'Microsoft OLE DB Provider for SQL Server', u'Conversion failed when converting date and/or time from character string.', None, 0, -2147217913), None)

Command:
INSERT INTO [django_session] ([session_key], [session_data], [expire_date]) VALUES (?, ?, ?)

Parameters:
[Name: p0, Dir.: Input, Type: adBSTR, Size: 32, Value: "orctnepzkaqb4haa6tn7jjit961a4l3s", Precision: 0, NumericScale: 0, Name: p1, Dir.: Input, Type: adBSTR, Size: 60, Value: "M2FiMTM4NGJmNjY4NDc2YjA0Y2I1ZjI4NDcxYzNlNTExYTljODYxMTp7fQ==", Precision: 0, NumericScale: 0, Name: p2, Dir.: Input, Type: adBSTR, Size: 26, Value: "2014-12-30T12:38:53.076000", Precision: 0, NumericScale: 0]
--------------------------------------------------------------------

DATETIME_输入_格式无法解决此问题,因为“timezone”中的“now”函数以微秒返回时间。 我对功能进行了更改:

DATETIME_INPUT_FORMATS = (
    '%Y-%m-%d %H:%M:%S',   
)
   if settings.USE_TZ:
        # timeit shows that datetime.now(tz=utc) is 24% slower
        return datetime.utcnow().replace(tzinfo=utc, microsecond=0)
    else:
        return datetime.now().replace(microsecond=0)