我的models.py如下所示:
class Profile(models.Model):
user = models.OneToOneField(User)
def __unicode__(self):
return "%s" % self.user
class Student(models.Model):
user = models.ForeignKey(Profile)
phone_num = models.CharField(max_length=15)
def __unicode__(self):
return "%s" % (self.user)
class Teacher(models.Model):
user = models.ForeignKey(Profile)
phone_num = models.CharField(max_length=15)
def __unicode__(self):
return "%s" % (self.user)
class Complaint(models.Model):
user = models.ForeignKey(Student)
complaint = models.TextField()
teacher = models.ForeignKey(Teacher, null=True)
def __unicode__(self):
return "%s : %s" % (self.complaint)
如何显示最终存储在班级档案中的教师姓名 我得到的是 _complaint 表中的 teacher_id 列
student_obj = Student.objects.get(name=user_profile_instance)
然后
compaint = student_obj.complaint_set.values()
in complaint.html
{{complaint.teacher_id}}
我想要的是教师姓名而不是id
答案 0 :(得分:3)
这应该有效 -
{{ complaint.teacher.user.user.first_name }}
答案 1 :(得分:2)
首先请更新您的编码风格以进行应用优化
使用强>
student_obj = Student.objects.select_related().get(name=user_profile_instance)
上面的一个将缓存数据。之后,当你从字段中调用数据时,它不会破坏你的数据库:),因此你的应用程序将会飞
而不是
student_obj = Student.objects.get(name=user_profile_instance)
我同意@Bibhas答案
{{ complaint.teacher.user.user.first_name }}
教师的档案是继承Django的Auth模型用户
那明智的
user.user.first_name