从Django列表中删除重复项

use*_*290 1 django

对不起,如果这是一个基本问题,但我似乎无法解决这个问题!:/

我的应用程序填充文件夹中的文件列表.然后它查询数据库并创建文件名的查询集.

我希望合并列表,然后删除重复项.最后的列表将在模板上列出,并且包含文件夹中但尚未添加到数据库中的文件,

Views.py:

def Image_Add(request):
    path="..."
    images =os.listdir(path)
    usedimage=Images.objects.values('imageurl').distinct()
    result=[]

    for image in images:
        result.append(image)

    for image2 in usedimage:
        result.append(image2)

    imagelis=set(result)
    imagelist=list(imagelis)

    return TemplateResponse(request, 'Image_Add.html', {'form':imagelist})
Run Code Online (Sandbox Code Playgroud)

但是,在模板上显示所有文件时不会删除重复项.(我目前在线路上收到错误" imagelis=set(result)")

谢谢

Ell*_*bal 6

使用

usedimage=Images.objects.values_list('imageurl', flat=True).distinct()
Run Code Online (Sandbox Code Playgroud)

代替

usedimage=Images.objects.values('imageurl').distinct()
Run Code Online (Sandbox Code Playgroud)

查看文档.

values()返回不可用类型的dicts.这会导致错误.