У меня есть папка, которая содержит несколько PDF файлов, которые я бы хотел добавить в мой db, но с помощью кода ниже, каждый раз, когда я обновляю свою страницу, те же данные снова добавляются в db, есть ли способ избежать этого и есть только новые данные добавлены в db? Спасибо
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):
File.objects.get_or_create(file_name=x, file_path=y)
вместо
for (x, y) in zip(file, mylist2):
p = File(file_name=x, file_path=y)
p.save()