【问题标题】:How to add attribute '_meta' to an object?如何将属性“_meta”添加到对象?
【发布时间】:2011-11-23 19:48:55
【问题描述】:

我正在尝试将 django-voting 应用程序添加到我的项目中。我不知道如何在我的模板中使用它,所以我添加了一个新的模板标签,用于在用户点击按钮时投票赞成或反对。不知道有没有好办法。

我的问题是模板标签中的这些行:

obj = Place.objects.filter(id=object_id)
Vote.objects.record_vote(obj, self.user, +1)

django 打印:

Caught AttributeError while rendering: 'Place' object has no attribute '_meta'

如何添加属性 _meta 我的对象 'Place'?

【问题讨论】:

    标签: django django-models django-templates django-voting


    【解决方案1】:

    问题是这里的obj 实际上并不是一个对象,而是一个只有一个元素的查询集。您应该使用get 而不是filter,因为get 实际上返回一个模型实例。

    obj = Place.objects.get(id=object_id)
    

    【讨论】:

      猜你喜欢
      • 2015-11-15
      • 2021-09-09
      • 2013-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-18
      • 2016-08-29
      相关资源
      最近更新 更多