我想从另一个类中显示一个属性。当前类有一个外键,用于获取属性的类。
# models.py
class Course(models.Model):
name = models.CharField(max_length=100)
degree = models.CharField(max_length=15)
university = models.ForeignKey(University)
def __unicode__(self):
return self.name
class Module(models.Model):
code = models.CharField(max_length=10)
course = models.ForeignKey(Course)
def __unicode__(self):
return self.code
def getdegree(self):
return Course.objects.filter(degree=self)
# admin.py.
class ModuleAdmin(admin.ModelAdmin):
list_display = ('code','course','getdegree')
search_fields = ['name','code']
admin.site.register(Module,ModuleAdmin)
所以我要做的是获得模块使用“getdegree”的“程度”。我在这里阅读了几个主题,并尝试了django文档,但我不是一个有经验的用户,所以即使我猜它是简单的,我无法弄清楚。谢谢!
答案 0 :(得分:6)
非常直接。
试试这个:
def getdegree(self):
return self.course.degree
您可以安全地执行此操作,因为course
不是可空字段。如果是,您应该在访问其属性之前检查对象是否存在。