【发布时间】:2023-03-19 11:45:01
【问题描述】:
我有一个带有 2 个数字字段的模型。我正在尝试查询这些数字并将它们附加到彼此。我怎么做?如何处理查询的对象?
这是模特
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
【问题讨论】:
-
a和b的类型是什么?看来您假设它们是数字。但它们真的是数字吗?错误消息表明它们是“QuerySet”类型。 -
是的,它们是查询。我的问题是如何使用查询类型对象?我在数据库中有多个 num1 和 num2 (都属于一个模型),我想将 num1 和 num2 附加在一起并将结果值分配给一个新对象(无论是立即给出值还是将其存储在数据库)。欢迎任何解决方案!
标签: python django django-models django-views django-queryset