Как удалить 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, это должно сработать.

Вернуться на верх