django - 产品项目不可从模型中迭代
问题描述
我想将模型中的所有对象显示到我创建的页面
所有代码都在下面给出,感谢models.py---->>
from django.db import models
from django.utils import timezone
class Product(models.Model):
title = models.CharField(max_length = 250)
description = models.TextField(blank = False)
price = models.IntegerField()
datecreated = models.TimeField()
featured = models.BooleanField(default = False)
def __str__(self):
return self.title
def get_Absolute_url(self):
return reverse("products", kwargs = {"id":self.id})
视图.py---->>
def home(request):
obj = Product.objects.get()
context = {
"obj":obj
}
return render(request, "firstapp/home.html", context)
模板---->>
<h1>Products in database</h1>
{% for x in obj %}
<p>{{x.title}}</p>
{% endfor %}
获取错误模型对象是不可迭代的
解决方案
您应该使用.all()
从模型中获取所有对象。尝试这个:
obj = Product.objects.all()
推荐阅读
- swift - 从图像路径数组中删除项目
- mhtml - 在 MHTML 中使用假域名作为位置有什么害处吗?
- ios - 致命错误:索引超出范围,由于一次又一次按下like和heart按钮
- python - 我正在尝试根据给定条件(多个条件)创建熊猫数据框列
- html - 自动完成输入使内容跳转
- c# - 使用 CollectionViewSource 在数据网格上进行分组的问题
- bayesian - 使用 PyMC3 的分层贝叶斯线性回归非常慢
- c++ - 使用通用交换函数来缩短代码
- ruby-on-rails-5 - 通过 ActiveStorage 上传的图像在 Dokku 部署后消失
- java - 如何在 Android 中使用 Intent 向服务发送信息