从时间戳字段派生的 Django 日期字段

Django date field derived from timestamp field

我有一个 created_date 字段:

class Comment(models.Model):
    created_date = models.DateTimeField(auto_now_add=True)

我想要一个源自 created_date 的字段,该字段理想地存在于模型中。我知道 SQL 我能做到:

SELECT created_date::date
FROM Comment

我如何在 Django 模型中定义它?

编辑:created_date 只是一个示例,所以我不能使用 datetime 模块中的 date.today()。另请注意,最终目标是制作一个带有几个不同字段的 slug,包括所需的 'date_only' 字段。

您可以使用 __date lookup [Django-doc] when filtering or in F-expression, or for older versions of Django you can use the TruncDate function [Django-doc].

因此,例如,您可以使用

过滤特定日期的 Comments
from datetime import date

Comment.objects.filter(<strong>created_date__date=date(2022, 4, 9)</strong>)

然而,使用 …_date 意义不大:它是一个 datetime 对象,因此您的字段名称暗示它是一个 DateField,最好使用created,或created_timestamp