0

我的模型有 creation_date = models.DateTimeField(auto_now_add=True)

我不知道如何在此列的数据库中查询不同的年份。

任何想法将不胜感激,谢谢

4

2 回答 2

0

当模型存储时,models.DateTimeField它通常采用“YYYY-MM-DDTHH:MM:SS”这种格式,您可以使用过滤器方法查询该年份的所有特定记录。

这是一个例子:

模型.py

    from django.db import models

    class Items(models.Model):
        name = models.CharField(max_length=100)
        creation_date = models.DateTimeField(auto_now_add=True)

视图.py

    from Items.model import Items

        def items_by_creationdate_view(request):
            items = Items.objects.filter(creation_date__year=2013)
            return render("template.html", {"items": items })

模板.html

{% for x in items %}
    {{x.name}}<br/>
    {{x.creation_date }}<br/><br/>
{% endfor %}
于 2013-07-02T06:18:43.400 回答
0

不确定这是否是最好的方法,但您可以尝试:

set([instance.creation_date.year for instance in Model.objects.all()])

于 2013-07-02T06:20:14.333 回答