我有两种模式:
class Student(models.Model):
student_id = models.BigIntegerField(primary_key=True)
student_lastname = models.CharField(max_length=200)
student_firstname = models.CharField(max_length=200)
student_courseid = models.ForeignKey(Course)
class Course(models.Model):
course_location = models.CharField(max_length=200)
course_begin = models.DateField(blank=True)
course_end = models.DateField(blank=True)
我有一个表格,显示每个学生的信息。通过网址选择学生。
urlpatterns = [
# ex: /00116777/detail/
url(r'^(?P<studentid>[0-9]+)/detail/$', StudentDetailView.as_view(), name='detail'),
]
在这个表单中我想添加course_location但我无法弄清楚如何查询两者以便我可以在模板中使用它
<div class="col-md-3 col-lg-2">
<p class="student-detail-data">{{ course.course_location }}</p>
</div>
这是我到目前为止的观点:
class StudentDetailView(DetailView):
model = Student
template_name = "student/detail.html"
slug_field = 'student_id'
slug_url_kwarg = 'studentid'
def get_context_data(self, **kwargs):
context = super(StudentDetailView, self).get_context_data(**kwargs)
data = self.kwargs['studentid']
context['object'] = Student.objects.filter(student_id=data)
return context
任何帮助或建议将不胜感激。谢谢!
答案 0 :(得分:1)
您可以通过外键list_entry
并非创建{{ student.student_courseid.course_location }}
,Django会自动添加student_id
。
我不知道你想要什么样的逻辑,但我认为对于课程和学生,你需要创建pk
。
答案 1 :(得分:0)
点击特定学生时,必须显示相关信息(课程详情)
所以我猜,这会奏效。
{{student.student_courseid.course_loation}} in your html page.
希望这应该有效,因为默认情况下。