Django objects.all() 返回空查询集

问题描述 投票:0回答:1

我有一个 sqlite3 数据库,其中包含预先存在的数据(名称、价格、url、img...)。当我尝试打印 objects.all() 中的值时,它返回 并循环遍历模板中的列表,不返回任何内容

我的模特

class Product(models.Model):
    name = models.CharField(max_length=200)
    current_price = models.CharField(max_length=50)
    place = models.CharField(max_length=50)
    url = models.CharField(max_length=50)
    img = models.CharField(max_length=50)
    date_add = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return self.name

我的网址:

path("database", views.show_db, name="show_db")

我的看法:

def show_db(request):
    product_list = Product.objects.all()
    return render(request, 'product_list.html', {'product_list' : product_list})

我的模板:

{% block content %}
    {% for product in product_list %}
        <li>
            {{product.name}}
        </li>
    {% endfor %}
{% endblock %}

当我使用dbshell查看时,有一个scrape_product表(scrape是应用程序的名称):

CREATE TABLE IF NOT EXISTS "scrape_product"(
  "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,
  "name" varchar(200) NOT NULL,
  "current_price" varchar(50) NOT NULL,
  "place" varchar(50) NOT NULL,
  "url" varchar(50) NOT NULL,
  "img" varchar(50) NOT NULL,
  "date_add" datetime NOT NULL
);
python django sqlite
1个回答
0
投票

已解决:使用

重命名产品型号的sqlite表
class Meta:
  db_table = "scrape_product"
© www.soinside.com 2019 - 2024. All rights reserved.