【问题标题】:'QuerySet' object has no attribute 'year' while using timesince'QuerySet' 对象在使用 timesince 时没有属性'year'
【发布时间】:2020-04-05 00:34:26
【问题描述】:
'QuerySet' object has no attribute 'year'
Request Method: GET
Request URL:    http://127.0.0.1:8000/dashboard/
Django Version: 2.2.8
Exception Type: AttributeError
Exception Value:    
'QuerySet' object has no attribute 'year'

models.py

joined_date = models.DateTimeField(default=now, editable=False)

views.py

date_joined = User.objects.order_by('-date_joined')

html

{{ date_joined|timesince }}

【问题讨论】:

  • 欢迎来到 SO。请包含代码的相关部分。

标签: django object django-views attributes django-queryset


【解决方案1】:

date_joined 是一个查询集,不是单个 User 对象,所以不能在其上使用timesince 模板标签。

您可能应该遍历用户,或者,将 single User 对象发送到模板并在 DateTimeField 上使用 timesince,而不是对象本身:

{% for user in date_joined %}
    {{ user.joined_date|timesince }}
{% endfor %}

【讨论】:

    【解决方案2】:

    您可能在模型的数据类型上犯了错误。例如,没有“年份”这样的“数据类型”。

    你应该在这个网站上查看 Django 的数据类型:https://www.geeksforgeeks.org/django-model-data-types-and-fields-list/

    另外,如果您共享代码的相关部分(可能是 models.py),我们可以为您提供更好的帮助。万事如意!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-31
      • 2021-06-12
      • 2021-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多