我有下面的db模型:

from datetime import datetime    

class TermPayment(models.Model):
    # I have excluded fields that are irrelevant to the question
    date = models.DateTimeField(default=datetime.now(), blank=True)

我使用以下命令添加了一个新实例:

tp = TermPayment.objects.create(**kwargs)

我的问题是:数据库中的所有记录在日期字段中都有相同的值,即第一次付款的日期.服务器重新启动后,一条记录具有新的日期,而其他记录具有与第一条相同的日期.看起来好像缓存了一些数据,但我找不到位置.

数据库:mysql 5.1.25

django v1.1.1

推荐答案

在定义模型时,似乎正在判断datetime.now(),而不是每次添加记录时.

Django有一个功能可以完成您已经在try 做的事情:

date = models.DateTimeField(auto_now_add=True, blank=True)

date = models.DateTimeField(default=datetime.now, blank=True)

The difference between the second example and what you currently have is the lack of parentheses. By passing datetime.now without the parentheses, you are passing the actual function, which will be called each time a rec或d is added. If you pass it datetime.now(), then you are just evaluating the function and passing it the return value.

M或e inf或mation is available at Django's model field reference

Python相关问答推荐

Ibis中是否有一个ANY或ANY_UTE表达,可以让我比较子查询返回的一组值中的值?

Plotly:如何更改Heatmap中彩色条的勾选文本

如果AST请求默认受csref保护,那么在Django中使用@ system_decorator(csref_protect)的目的是什么?

Python panda拆分列保持连续多行

NumPy中的右矩阵划分,还有比NP.linalg.inv()更好的方法吗?

如何使用矩阵在sklearn中同时对每个列执行matthews_corrcoef?

如何在Python中使用时区夏令时获取任何给定本地时间的纪元值?

Pandas 在最近的日期合并,考虑到破产

重新匹配{ }中包含的文本,其中文本可能包含{{var}

如何从在虚拟Python环境中运行的脚本中运行需要宿主Python环境的Shell脚本?

修复mypy错误-赋值中的类型不兼容(表达式具有类型xxx,变量具有类型yyy)

如何使用Python以编程方式判断和检索Angular网站的动态内容?

如何设置视频语言时上传到YouTube与Python API客户端

合并帧,但不按合并键排序

解决调用嵌入式函数的XSLT中表达式的语法移位/归约冲突

基于形状而非距离的两个numpy数组相似性

下三角形掩码与seaborn clustermap bug

如何在海上配对图中使某些标记周围的黑色边框

如何按row_id/row_number过滤数据帧

查看pandas字符列是否在字符串列中