我有一个包含图像位置行的数据库,我还有一个运行脚本时生成的图像位置列表。我想让数据库与生成的列表保持同步。我会放弃这张桌子,但是这张桌子上有我需要保留的投票信息。如果我删除图像,我不希望有一个条目,但如果我添加图像,我希望能够保留所有其他图像的投票
示例:
[db]
Name | Path | vote_count
image1 | path/to/image1.jpg | 1
image2 | path/to/image2.jpg | 4
image3 | path/to/image3.jpg | 2
[list]
path/to/image1.jpg
path/to/image2.jpg
path/to/image3.jpg
path/to/image4.jpg
我想将列表与数据库进行比较,如果有添加的图像,我想看到db执行以下操作:
[db]
Name | Path | vote_count
image1 | path/to/image1.jpg | 1
image2 | path/to/image2.jpg | 4
image3 | path/to/image3.jpg | 2
image4 | path/to/image4.jpg | 0
实现这一目标的好方法是什么?
到目前为止,我有这个:
def ScanImages(request):
files = []
fileRoots = []
for root, directories, filenames in os.walk('/web/static/web/images/'):
for filename in filenames:
files.append(os.path.join(root,filename))
fileRoots.append(root)
答案 0 :(得分:1)
假设您有django模型VotableImage
,您可以通过调用db_path_list = VotableImage.objects.values_list('Path', flat=True)
获取其中一个字段的列表,然后检查files
列表中存在的每个值(您通过脚本创建的) )