当Django的外壳(python manage.py shell
)执行以下查询集:查询集的外壳,但不是在Views.py工作 - Django的1.10
Employee.objects.filter(restaurant__pk = 1)
我得到一个结果回:
<QuerySet [<Employee: Joyce McDonnals>]>
请对不起,因为我是Django的新手。我想通过PK在我的网页中动态实现这个查询集。这是我在views.py定义了get_queryset
是:
class EmployeeList(ListView):
template_name= "Restaurants/employee_list.html"
model = Employee
def get_queryset(self, **kwargs):
queryset = Employee.objects.filter(pk= restaurant.pk)
return queryset
但这返回错误:
NameError at /restaurant/1/employees/
name 'restaurant' is not defined
Request Method: GET
Request URL: http://127.0.0.1:8001/restaurant/1/employees/
Django Version: 1.10.5
Exception Type: NameError
Exception Value:
name 'restaurant' is not defined
我已经尝试了一些变种在我的views.py的查询集,但我可以似乎没有得到它的工作。有人可以帮我定义这个查询集吗?
的问题是不是查询集,但标准的Python作用域。 “餐厅”的价值应该来自哪里? –
'restaurant'已在我的Employee模型中定义为模型'RestaurantFeature'的外键,如下所示:'restaurant = models.ForeignKey(RestaurantFeature,on_delete = models.CASCADE)' –
但这并不能回答问题; \你想过滤的*特定*值来自哪里? –