Django模型:使用过滤器获取数据,空

2024-04-19 13:49:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试列出“points\u points”表中页面上的所有数据,其中user\u id是登录的用户。但是,显示时对象为空,未列出任何数据。我100%在数据库中为用户提供数据。为什么什么都不显示?有人能发现下面的错误吗?你知道吗

型号.py

class PointsManager(models.Manager):

    def points_list(self,thisUser):
        list = Points.objects.filter(user=thisUser)
        return list


class Points (models.Model):
    user = models.ForeignKey(User)
    points = models.IntegerField(verbose_name=("Points"), default=0)
    created = models.DateTimeField(("Created at"), auto_now_add=True)
    updated = models.DateTimeField(verbose_name=("Updated at"), auto_now=True)

    objects = PointsManager()


    class Meta:
      verbose_name = ('Point')
      verbose_name_plural = ('Points')

视图.py

@login_required
def history(request):

    thisPoints = Points.objects.points_list(request.user)
    context = {'points':thisPoints}
    return render_to_response('points/history.html', context, context_instance=RequestContext(request))

模板.py

    <h1>|{{ points }}|</h1>

 {% for item in points.Points_items.all %}

     <tr>
       <td>{{ item.points }}</td>
     </tr>
  {% endfor %}

Tags: 数据用户namepyverboseobjectsmodelsrequest
1条回答
网友
1楼 · 发布于 2024-04-19 13:49:13

试试这个

def points_list(self,thisUser):
       return super(PointsManager, self).get_query_set().filter(user=thisUser)

你的模板看起来不对。。你知道吗

{% for item in points %}

     <tr>
       <td>{{ item.points }}</td>
     </tr>
  {% endfor %}

相关问题 更多 >