在下面的模型中,當通過管理員刪除藝術家時,它將確認並刪除所有相關歌曲。但是,當我通過管理員刪除歌曲時,如果歌手在歌曲中沒有更多相關項目,我也想要刪除歌手。在Admin中是否有一個模型選項?Django在另一個模型中刪除一個沒有更多相關ForeignKey項目的模型實例?
這應該如何在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