Как удалить forien-key Imagefield в django?
Я уже использую django-cleanup. Но она работает, когда поле изображения было удалено. Если imagefield связан с моделью, как показано ниже. Пока я не удаляю imagefield вручную, он не может работать.
from django.db import models
class Listing(models.Model):
title = models.CharField(max_length=25)
class ListingImages(models.Model):
listing = models.ForeignKey(Listing, default=None)
image = models.ImageField()
В листинге может быть много изображений, количество которых не фиксировано. Так что я реализовал это. Но теперь у меня возникла проблема, как я могу найти, какое изображение должно быть удалено. Ленивый алгоритм - это просто итерация данных каждого изображения при запросе post или put. и удалить не найденное изображение, которое связано с объектом Listing.
Но это слишком дорого, я думаю. Есть ли какое-нибудь хорошее решение? Я искал это ключевое слово 'delete foreign key image in django'. Но для меня не нашлось решения.
Для удаления модели ListingImages можно использовать id первичного ключа с методом DELETE. Django предоставляет удобные CRUD-операции.
То, что вы упомянули в своем комментарии, было правильным. Продолжайте работу с pk, это должно сработать.