gpt4 book ai didi

python - 如何显示外键属性 Django 管理字段?

转载 作者:行者123 更新时间:2023-12-05 03:52:54 24 4
gpt4 key购买 nike

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

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

def __str__(self):
return self.category_title


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)

def __str__(self):
return self.classes_title

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)

def __str__(self):
return self.subject_title

让我举个例子。我可以有 2 个类别,在这些类别中我可以有“同名”类。让我们想想数学是两个类别的类(class)。当我想为数学添加新主题时,我在管理页面中看到 2 个相同名称的数学。所以我想知道哪个属于管理页面中的哪个类别。这样我就可以将我的主题添加到正确的类(class)中。

class SubjectAdmin(admin.ModelAdmin):

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

所以在这张图片中 (Subjects = Konular) 我添加了一个新主题。我将有一个类的外键。但是,对于来自不同类别的类,我有相同的名称。那么在此下拉列表中,我如何知道哪个类属于哪个类别?

enter image description here

最佳答案

试试这个...

class KonularAdmin(admin.ModelAdmin):

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

def get_classes_category_title(self, obj):
subject_object = Subjects.objects.get(id=obj.subject_class)
return str(subject_object.classes_category.category_title)

  • 返回类别标题名称

关于python - 如何显示外键属性 Django 管理字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61988193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com