python/django将目录文件添加到数据库

python/django将目录文件添加到数据库,django,python-3.x,django-views,Django,Python 3.x,Django Views,我有一个文件夹,其中包含几个PDF,我想将其添加到我的数据库中,但是使用下面的代码,每次我刷新页面时,相同的数据都会再次添加到数据库中,是否有办法避免这种情况,并且只将新数据添加到数据库中?多谢各位 def index(request): path = "/Users/Sam/Desktop/docs" mylist1 = os.listdir(path) mylist2 = glob.glob(path + "//*.pdf")

我有一个文件夹,其中包含几个PDF,我想将其添加到我的数据库中,但是使用下面的代码,每次我刷新页面时,相同的数据都会再次添加到数据库中,是否有办法避免这种情况,并且只将新数据添加到数据库中?多谢各位

 def index(request):
        path = "/Users/Sam/Desktop/docs"
        mylist1 = os.listdir(path)
        mylist2 = glob.glob(path + "//*.pdf")
        mylist1.pop(0)
        file = []
        for z in mylist1:
            file.append(os.path.splitext(z)[0])
        for (x, y) in zip(file, mylist2):
            p = File(file_name=x, file_path=y)
            p.save()
        all_files = File.objects.all().order_by('file_name')
        return render(request, 'form/index.html', {'all_files': all_files})
您可以尝试:

而不是

for (x, y) in zip(file, mylist2):
    p = File(file_name=x, file_path=y)
    p.save()

在您的模型中,您可以使用unique=TrueIt。它不起作用,现在我得到integrityer或很高兴帮助您,请不要忘记接受答案。我是新手,如何接受。现在我有另一个问题,如果我从我的文件夹中删除一个文件,有没有办法让它从数据库中自动删除?
for (x, y) in zip(file, mylist2):
    p = File(file_name=x, file_path=y)
    p.save()