【发布时间】:2021-01-19 02:50:26
【问题描述】:
DetailView 查询集返回我怀疑来自模型的__str__ 方法的全名。
型号:
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
...
class Employee(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
...
注意:用户 == 员工模型中的个人资料 pk 查看:
class EmpDetail(DetailView):
template_name = 'users/emp_detail.html'
model = Employee
context_object_name = 'employee'
我试过这个,它得到了我需要的东西,但是 id 是硬编码的,我无法访问 kwargs:
def get_object(self, queryset=None):
employee = Employee.objects.filter(user=self.request.user, id="1").values('full_name', 'val2', 'val3', ... )
return employee
然后我尝试了这个,但它返回一个空列表。
def get_context_data(self, **kwargs):
context = super(EmpDetail, self).get_context_data(**kwargs)
pk_= self.kwargs.get("id")
context['employee'] = Employee.objects.filter(pk=pk_).values('full_name', 'val2', 'val3', ... )
return context
如何在 DetailView 中进行查询并将其传递给模板?
【问题讨论】:
-
你有,在
self.kwargs。
标签: django django-templates django-queryset