下のモデルでは、管理者がアーティストを削除すると、関連するすべての曲が確認され、削除されます。ただし、管理者から曲を削除すると、アーティストが曲に関連する項目がなくなった場合でも、アーティストを削除したいと考えています。このためのモデルオプションは管理者にありますか?他のモデルに関連するForeignKey項目がなくモデルインスタンスを削除するDjango?
これはModelAdminの内部ではなくカスタムビューでどのように行うべきですか?
class Artist (models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
class Genre (models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
class Song (models.Model):
artist = models.ForeignKey(Artist, on_delete=models.CASCADE)
genre = models.ForeignKey(Genre, null=True, blank=True, on_delete=models.SET_NULL)
title = models.CharField(max_length=100)
mix = models.CharField(max_length=100, blank=True)
def __str__(self):
return self.title
'pre_delete'シグナルを使用してアーティストを削除したい場合があります – karthikr