如何显示django管理字段的外键属性?

问题描述 投票:1回答:1

此问题与其他人相似,但实际上是不同的!因此,我有3个模型,例如(为了缩短代码,我删除了一些不必要的东西):

class Category(models.Model):
category_title = models.CharField(max_length=200)
category_content = models.TextField()
category_slug = models.CharField(max_length=200)


class Classes(models.Model):
classes_title = models.CharField(max_length=200)
classes_content = models.TextField()
classes_category = models.ForeignKey(Category, on_delete=models.SET_DEFAULT)


class Subjects(models.Model):
subject_title = models.CharField(max_length=200)
subject_content = models.TextField()
subject_class = models.ForeignKey(Classes, on_delete=models.SET_DEFAULT)

所以让我举个例子。我可以有2个类别,在这些类别中,我可以有“同名”类别。让我们考虑一下数学是这两个类别的一门课。当我想向数学添加新主题时,在管理页面中会看到2个相同名称的数学。所以我想知道哪个属于管理页面中的哪个类别。所以我可以将我的主题添加到正确的课程中。

class SubjectAdmin(admin.ModelAdmin):

fields = ('subject_title', 'subject_content', 'subject_class',)

我的管理页面中有此文件。我想在诸如subject.classes_category之类的字段中添加内容,以便仅查看哪个类属于哪个类别。那么我有办法吗?

python django
1个回答
0
投票

尝试一下...

class KonularAdmin(admin.ModelAdmin):

    fields = ('subject_title', 'subject_content', 'subject_class',)

    def get_classes_category_title(self, obj):
         return str(obj.subject_class.classes_category.category_title)

  • 返回类别标题名称
© www.soinside.com 2019 - 2024. All rights reserved.