线程结束后 Django DateTimeField 值丢失
Django DateTimeField value lost after thread ends
下面是我的模型:
class MyModel(models.Model):
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
在创建 MyModel 的请求中,我登录并看到 created 和 modified正在获取默认值、当前日期和时间。
此外,从 SQL shell,我看到 table 中保存了 MySQL 的相同值。
然而,当我读取从新请求创建的对象时,模型的所有其他字段都保持不变,但 created 和 modified return 空值。
这不会发生在开发环境中。我正在使用 Google App Engine 和 Google Cloud SQL 第二代产品。
我从另一个 question 找到了解决方案。
@jturmel 对问题的回答是这个问题的解决方案。
综上所述,自MySQL 5.6.4 以来,DATETIME 类型存在向后不兼容的升级。您需要 MySQLdb 版本 1.2.5 才能使用新的 DATETIME。
下面是我的模型:
class MyModel(models.Model):
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
在创建 MyModel 的请求中,我登录并看到 created 和 modified正在获取默认值、当前日期和时间。
此外,从 SQL shell,我看到 table 中保存了 MySQL 的相同值。
然而,当我读取从新请求创建的对象时,模型的所有其他字段都保持不变,但 created 和 modified return 空值。
这不会发生在开发环境中。我正在使用 Google App Engine 和 Google Cloud SQL 第二代产品。
我从另一个 question 找到了解决方案。
@jturmel 对问题的回答是这个问题的解决方案。
综上所述,自MySQL 5.6.4 以来,DATETIME 类型存在向后不兼容的升级。您需要 MySQLdb 版本 1.2.5 才能使用新的 DATETIME。