提问人:JesusOfCarrots 提问时间:9/28/2023 更新时间:9/28/2023 访问量:42
多次显示的属性 (sqlite3/flask)
Attributes showing multiple times (sqlite3/flask)
问:
我的sqlite3数据库遇到了一些问题。 我在 python 中创建数据库并在同一文件中运行我的 flask 服务器。 在我的 index.html 文件中,我想将表显示为列表。
{% for name in names %}
<li>{{ name }}</li>
{% endfor %}
但是,这会导致一些问题。在 python 中,我只选择 name 属性(我有 2 个),它们以正确的顺序显示,但它们会重复。所以最后列表包含我的 4 个属性的 2 倍。
我能够通过将我的 python 代码更改为: 来“修复”这个问题。
但现在我添加了一些功能。其中之一是删除行。当我单击删除按钮时,它会删除该条目,但是当我重新加载页面时,会出现完全相同的条目。我删除并重新加载了 7 次,然后它终于永远消失了。SELECT DISTINCT name FROM my_table
这是我创建数据库的地方:
con = sqlite3.connect('database.db')
cur = con.cursor()
cur.execute('''
CREATE TABLE IF NOT EXISTS inv (
id INTEGER PRIMARY KEY,
specific TEXT,
name TEXT,
amount REAL,
place TEXT
)
''')
cur.executemany('''
INSERT INTO inv (specific, name, amount, place)
VALUES (?, ?, ?, ?)
''', [
('220Ohm', 'Resistor', 3, 'Place1'),
('400Ohm', 'Resistor', 10, 'Place2'),
('5A', 'Switch', 7, 'Place3'),
])
con.commit()
con.close()
所以我尝试删除并重新创建我的数据库。我也尝试了这个“清洁命令”:
con = sqlite3.connect('database.db')
cur = con.cursor()
cur.execute('''
DELETE FROM inv
WHERE id NOT IN (
SELECT MIN(id)
FROM inv
GROUP BY specific, name, place
);
''')
print('Succsessfully cleaned db')
但这并没有改变任何事情。
对于钙化:这是我希望我的页面看起来像的:
- 名称1
- 名称2
但是当我删除 DISTINCT 命令时,它看起来像这样:
- 名称1
- 名称2
- 名称1
- 名称2
- 名称1
- 名称2
- 名称1
- 名称2
答: 暂无答案
评论
name=Resister
DISTINCT