我有一个带有两个数字字段的模型。我试图查询这些数字,并将它们附加到其他数字中。我该怎么做?如何处理查询的对象
这是一个模型
class Post(models.Model):
title = models.CharField(max_length=100)
num1 = models.IntegerField(blank=True,default=0)
num2 = models.IntegerField(blank=True,default=0)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('diary:post-detail', kwargs={'pk': self.pk})
这是视图(这里我尝试查询和处理查询的对象)
def home(request):
a = Post.objects.values('num1')
b = Post.objects.values('num2')
result = a + b
context = {
'result': result,
}
return render(request, 'diary/home.html', context)
这是我的模板的工作部分
{% for x in result %}
<p> {{ x }} </p>
{% endfor %}
这就是我得到的错误
TypeError at /
unsupported operand type(s) for +: 'QuerySet' and 'QuerySet'
C:\Users\detal\Coding\Trading Diary3\TradingDiary\diary\views.py, line 11, in home
result = a + b
您的查询将返回字典。要添加这两个查询,您可以尝试
看起来更干净
如果不需要重复,请添加.distinct()
如果您只需要特定字段,您可以尝试
或者如果它来自同一张桌子
我解决了。以下是我的视图代码:
和模板代码:
输出是num1和num2的附加编号列表。在解决时,我也遇到了一个问题——您不需要在视图中“返回”for循环结果。它只有在没有它的情况下才能工作
相关问题 更多 >
编程相关推荐