Хочу перед сохранением добавленных фото выполнить проверку на уже привязанные к посту файлы.
Список файлов получаю через Image.objects.filter(). На выходе объект типа Image. Мне нужно в переменную поместить список из имен файлов для последующей проверки.
Модель Image (связана с постами):
class Image(models.Model):
article = models.ForeignKey(Article, on_delete=models.CASCADE, related_name='images', null=True, blank=True)
file = models.ImageField('Файл', upload_to='uploads/', default="/no-image.png", storage=MediaFileStorage(), unique=False)
@property
def filename(self):
return self.file.name.rsplit('/', 1)[-1]
Вьюха (где редактирую пост Article и добавляю фото в таблицу Image с привязкой к тек посту):
Попробовал через values('file') отобрать записи, но не получается сформировать список имен без поддиректорий.
А в случае с values_list('filename', flat=True) - вовсе ругается Django
...
edit_post = get_object_or_404(Article, slug=slug)
post_gallery = Image.objects.filter(article_id=edit_post.pk).values('file') # <QuerySet [{'file': 'uploads/oikos_spanish-brush.jpg'}]>
print((post_gallery))
...
if post_form.is_valid():
#Create, but don't save the post
edit_post = post_form.save(commit=False)
#instance = Article.objects.get(pk=edit_post.pk)
for f in request.FILES.getlist('files'):
if post_gallery and f in post_gallery: # <-------- тут надо изменить проверку
print('file exist')
else:
image_object = Image(file=f, article=edit_post)
image_object.save()
edit_post.save()
Подскажите, пожалуйста, как получить корректный список для проверки условия if f in post_gallery: