【发布时间】:2018-02-28 10:40:00
【问题描述】:
我正在尝试使用 ListView 和 ContextMixin 创建视图,但我不确定这是否是正确的方法。目标是获取CourseImplementation 中的所有字段以及在TeacherCourseImplementation 中连接到它的teacherid。
问题是在浏览器上打开模板时我看不到implement.teacherid 部分。想获取教师ID,不知道怎么办。
class ImplementView(generic.ListView):
template_name = 'schedule/implement.html'
context_object_name = 'all_implements'
def get_queryset(self):
return CourseImplementation.objects.all()
def get_context_data(self, **kwargs):
context = super(ImplementView, self).get_context_data(**kwargs)
context['teacherid'] = TeacherCourseImplementation.objects.all()
return context
这是我的models.py
class CourseImplementation(models.Model):
courseid = models.ForeignKey(Course, on_delete=models.CASCADE, db_column='courseid', )
roomid = models.ForeignKey('Room', models.DO_NOTHING, db_column='roomid', blank=True, null=True)
note = models.CharField(max_length=10, blank=True, null=True)
class Meta:
managed = False
db_table = 'course_implementation'
def __str__(self):
return self.pk + ' - ' + self.courseid
class TeacherCourseImplementation(models.Model):
teacherid = models.ForeignKey(Teacher, on_delete=models.CASCADE, db_column='teacherid', primary_key=True)
course_impleid = models.ForeignKey(CourseImplementation, on_delete=models.CASCADE, db_column='course_impleid')
p1 = models.IntegerField(blank=True, null=True)
p2 = models.IntegerField(blank=True, null=True)
p3 = models.IntegerField(blank=True, null=True)
p4 = models.IntegerField(blank=True, null=True)
p5 = models.IntegerField(blank=True, null=True)
class Meta:
managed = False
db_table = 'teacher_course_implementation'
unique_together = (('teacherid', 'course_impleid'),)
def __str__(self):
return self.pk + ' - ' + self.teacherid
这是我的模板:
<ul>
{% for implement in all_implements %}
<div class="col-sm-5 col-lg-5">
<div class="thumbnail">
<p>{{ implement.teacherid }} - {{ implement.courseid }}</p>
</div>
</div>
{% endfor %}
</ul>
谁能帮我解决这个问题。谢谢。
【问题讨论】:
-
你没有展示你的模板或说出你真正想要做什么。
-
您的问题是什么?无论如何,ListView 已经包含了 ContextMixin。
-
我刚刚编辑了我的问题。你能再看一下吗?
-
不,因为你还没有说出问题所在。
-
问题是在浏览器上打开模板时我看不到部分 implement.teacherid。想拿到teacherid不知道怎么办。
标签: python django django-views