在删除某个对象的ManyToManyField时显示该对象的str或unicode

2024-10-04 03:23:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Django宣布管理员.py一个oeuvre类,它的typesmanyField到TypeOeuvre类。你知道吗

class Oeuvre(models.Model):
    titre = models.CharField(max_length=510)
    types = models.ManyToManyField('TypeOeuvre',
                                   blank=True,
                                   verbose_name="Type(s) de l'œuvre")
    class Meta:
        ordering = ['titre']

    def __unicode__(self):
        return "{0} [{1}]".format(self.titre[:200], self.id)

class TypeOeuvre(models.Model):
    intitule = models.CharField(max_length=100, verbose_name='Intitulé')
    commentaire = models.CharField(max_length=255,
                                   verbose_name='Commentaire',
                                   blank=True)

    class Meta:
        ordering = ['intitule']
        verbose_name = "Type d'œuvre"
        verbose_name_plural = "Types d'œuvres"

    def __unicode__(self):
        return self.intitule

但是,当我试图在Django Admin中删除一个TypeOeuvre对象时,如果该对象与一个oeuvre存在关系,那么“确定吗?”警告没有明确提及作品的名称:

开卷类型开卷关系:开卷类型对象

Are you sure

有没有办法显示与类型相关联的作品的名称?你知道吗

谢谢你


Tags: 对象djangonameself类型verbosemodelslength