Django obtiene atributos de la clase de clave externa

Me gustaría mostrar un atributo de otra clase. La clase actual tiene una clave externa a la clase donde quiero obtener el atributo.

# 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) 

Entonces, lo que estoy tratando de hacer es obtener el “grado” que tiene un módulo utilizando “getdegree”. Leí varios temas aquí y también probé la documentación de django, pero no soy un usuario experimentado, así que incluso creo que es algo simple, no puedo entenderlo. ¡Gracias!

Es bastante sencillo.

Prueba esto:

 def getdegree(self): return self.course.degree 

Documentacion aqui

Puede hacerlo de forma segura porque el course no es un campo que pueda contener nulos. Si lo fuera, debería haber comprobado la existencia del objeto antes de acceder a su atributo.