Django admin,在一个字段中显示2个或更多属性

时间:2014-03-27 20:30:55

标签: python django attributes admin

我得到了一个模特,一个"学生"能够报名参加"课程"。问题是课程可能具有相同的名称(但出勤率不同,“全职时间”或“兼职时间”)。因此,您可以在附图中看到,我想知道学生注册的课程。在选择框内或旁边。我试图使用列表显示,但无法弄清楚如何使用它。

编辑:存储出勤类型的字段称为“出勤”#39;它是课程'课程'。

的一部分

admin.py

class StudentAdmin(admin.StackedInline):

    model = Student
    verbose_name_plural = 'students'

# Define a new User admin
class UserAdmin(UserAdmin):
    inlines = (StudentAdmin, )

# Re-register UserAdmin
admin.site.unregister(User)
admin.site.register(User, UserAdmin)

1

1 个答案:

答案 0 :(得分:1)

Course模型上,您可以定义__unicode__(self):方法,将两个属性一起插值。因此,在您的情况下,您可以结合课程名称和出勤率。

这看起来像这样:

class Course(models.Model):
    name = models.CharField(max_length=100)
    attendance = models.CharField(max_length=100)

    def __unicode__(self):
        return "%s (%s)" % (self.name, self.attendance)

然后该课程的字符串表示将是课程的名称,然后出现在括号中。

可以找到in the documentation的一个例子。