python - 需要一些帮助从列表中删除数据并再次将其附加到同一列表中

标签 python mysql django

我开发了一个 Django 应用程序,用户可以在其中上传多个文件。我可以在MySql数据库中以逗号(,)分隔的列表的形式上传所有多个文件及其路径。例如我上传了三个文件

  1. 记录缺陷.docx, 2.Mocks(1).pptx 和 3.Mocksv2.pptx

它会按如下方式存储在数据库中(将单个文件路径转换为列表并将所有路径连接到以下形式):

FileStore/client/Logging a Defect.docx,FileStore/client/Mocks (1).pptx,FileStore/client/Mocksv2.pptx,

现在我在删除特定文件时需要帮助。例如,当我删除 Logging a Defect.docx 时,我应该单独删除列表的第一个元素并保留其他两个路径。我将仅发送文档名称。

我正在将路径作为列表检索,然后我必须检查正在传递的文档名称是否存在于列表的每个元素中,如果匹配,那么我应该删除该元素,保持其他元素完好无损。如何处理这个问题?听起来更像是 python 问题而不是 Django 问题。

最佳答案

使用list-expression过滤分割后的文本,并使用join函数重建字符串

>>> db_path = 'FileStore/client/Logging a Defect.docx,FileStore/client/Mocks (1).pptx,FileStore/client/Mocksv2.pptx'
>>> file_to_delete = 'Logging a Defect.docx'
>>> file_separator = ","
>>> new_db_path = [
...     path.strip()
...     for path in db_path.split(file_separator)
...     if path.strip() and file_to_delete not in path
... ]
>>> string_to_save = file_separator.join(new_db_path)
>>> string_to_save
'FileStore/client/Mocks (1).pptx,FileStore/client/Mocksv2.pptx'

关于python - 需要一些帮助从列表中删除数据并再次将其附加到同一列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26014902/

相关文章:

mysql - 如何进行多表连接?

python - save_model 方法,但数据库需要不同的关系?

python - 手动安装python分发包出现IOError : CRC check failed

python - 快速半正弦逼近(Python/Pandas)

通过 SSH 隧道的 mysql

jquery - 如何编写这个查询以获得正确的结果?

python - Django:如何通过 ModelForm 更新个人资料图片?

python - 安装 Django 的 mysql 模块

python - UT8 问题 - 有没有办法在 Python 中将看起来奇怪的字符 à 转换为正确的德语字符 ä ?

python - 谷歌地图反向地理编码始终在服务器端响应 602(未知地址)