Django从外键的类中获取属性 [英] Django get attributes from foreign key's class
问题描述
#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
$ b $ class Module(models.Model):
code = models.CharField(max_length = 10)
course = models.ForeignKey(Course)
def __unicode __(self):
return self.code
def getdegree(self):
返回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文档,但我不是一个有经验的用户,所以即使我猜这是简单的,我无法弄清楚。谢谢!
这是非常简单的。
:
def getdegree(self):
return self.course.degree
您可以安全地做到这一点,因为课程
不是一个空的字段。如果是这样,你应该在访问它的属性之前检查对象的存在。
I would like to show one attribute from another class. The current class has a foreign key to class where I want to get the attribute.
# 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)
So what i'm trying to do is to get the "degree" that a module has using the "getdegree". I read several topics here and also tried the django documentation but i'm not an experienced user so even I guess it's something simple, I can't figure it out. Thanks!
It is pretty straight forward.
Try this:
def getdegree(self):
return self.course.degree
You can do this safely because course
is not a nullable field. If it were, you should have checked for existence of object before accessing its attribute.
这篇关于Django从外键的类中获取属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!