python - 有没有办法比较存储的值和用户的输入以删除 django 视图中的重复项?
问题描述
我在 Django View 中有一个变量,interfacelist
它包含[TenGigabitEthernet1/0/1, TenGigabitEthernet1/0/2, TenGigabitEthernet1/0/20, TenGigabitEthernet1/0/21]
. 这是用户从 HTML 中输入的内容,我request.POST.get
将其输入到视图中。在我的数据库(SQL)中,我有以下内容:
问题来了,我如何比较数据库中的数据interfacelist
并删除任何重复项?就像在这种情况下一样,TenGigabitEthernet1/0/1, TenGigabitEthernet1/0/2
所以我会删除它并TenGigabitEthernet1/0/20, TenGigabitEthernet1/0/21
在数据库中保持更新。
我尝试了以下代码:(发生这种情况是 Django View)
cursor.execute(f"SELECT interface FROM {tablename} WHERE id >=2")
righttable = cursor.fetchall()
print(righttable)
#Notworking
#for i in righttable:
# if interfacelist[i] == righttable[i]:
# interfacelist.remove(a)
#Notworking
for i in interfacelist:
updatequery2 = f"INSERT INTO {tablename}(interface) VALUES('{i}')"
cursor.execute(updatequery2)
cursor.close()
在这种情况下,变量righttable
将是前面显示的图像。它包含[TenGigabitEthernet1/0/1,TenGigabitEthernet1/0/2,TenGigabitEthernet1/0/3,TenGigabitEthernet1/0/4,TenGigabitEthernet1/0/5]
. 此外,注释掉的代码不起作用,因为它给了我一个错误list indices must be integers or slices, not tuple
。所以在这种情况下,我想要的结果是interfacelist
只拥有TenGigabitEthernet1/0/20, TenGigabitEthernet1/0/21
和更新数据库。这意味着数据库TenGigabitEthernet1/0/1, TenGigabitEthernet1/0/2
已经.remove
包含它。我该如何解决这个问题以实现我想要的?如果有人可以建议或帮助我,将不胜感激。谢谢!
解决方案
推荐阅读
- python - 使用python量化歌声的声音深度
- c# - 在 Visual Studio 中生成文档/报告的最佳方法
- c++ - c++聚合类型不完整,不能用模板类定义
- ruby-on-rails - Rails 6 ActiveStorage 在文件上传失败时恢复事务
- c# - LINQ 查询结果到对象
- r - 根据另一个数据框中的列替换列值
- android - 为什么安卓付费应用安装量比成功订单多?
- python - 无法为 cassandra 启动 cqlsh。获取连接错误:AttributeError("\'module\' object has no attribute \'decompress\'",)',)})
- java - 在 Spring 的 Preauthorize 表达式中使用 Autowired bean
- github - 在拉取请求中比较哪个主节点?