Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
get_对象返回的Django上下文_Django_Django Models_Django Templates_Django Views_Django Class Based Views - Fatal编程技术网

get_对象返回的Django上下文

get_对象返回的Django上下文,django,django-models,django-templates,django-views,django-class-based-views,Django,Django Models,Django Templates,Django Views,Django Class Based Views,在模板中,我有两个相同的上下文: class ListDetailView(DetailView): context_object_name = 'aaaa' def get_object(self, queryset=None): return List.objects.get(unique_list_id=self.kwargs['unique_list_id']) 如何重写get_object()以仅返回由context_object_name='aaa

在模板中,我有两个相同的上下文:

class ListDetailView(DetailView):
    context_object_name = 'aaaa'

    def get_object(self, queryset=None):
        return List.objects.get(unique_list_id=self.kwargs['unique_list_id'])
如何重写get_object()以仅返回由
context_object_name='aaaa'
指定的上下文? 为什么我有两个上下文?

这不是由的决定,而是由的实现决定的。事实上,对于继承自

话虽如此,我认为删除它没有任何好处。它指的是同一个对象。查询不会执行两次:这是上下文中引用对象的两个名称。它使上下文更加统一,这样基础模板也可以处理
对象

请注意,即使删除此项,您仍然可以通过以下方式访问对象:

class ListDetailView(DetailView):
    context_object_name = 'aaaa'

    def get_context_data(self, *args, **kwargs):
        context = super().get_context_data(*args, **kwargs)
        context.pop('object', None)
        return context

    def get_object(self, queryset=None):
        return List.objects.get(unique_list_id=self.kwargs['unique_list_id'])
{{view.object.list_name}
由于
get\u context\u name的基本实现将
view
变量添加到引用该视图构造的实例的上下文中。

这不是由的确定,而是由的实现确定的。事实上,对于继承自

话虽如此,我认为删除它没有任何好处。它指的是同一个对象。查询不会执行两次:这是上下文中引用对象的两个名称。它使上下文更加统一,这样基础模板也可以处理
对象

请注意,即使删除此项,您仍然可以通过以下方式访问对象:

class ListDetailView(DetailView):
    context_object_name = 'aaaa'

    def get_context_data(self, *args, **kwargs):
        context = super().get_context_data(*args, **kwargs)
        context.pop('object', None)
        return context

    def get_object(self, queryset=None):
        return List.objects.get(unique_list_id=self.kwargs['unique_list_id'])
{{view.object.list_name}
因为
get\u context\u name
的基本实现将把
view
变量添加到引用视图构造的实例的上下文中

class ListDetailView(DetailView):
    context_object_name = 'aaaa'

    def get_context_data(self, *args, **kwargs):
        context = super().get_context_data(*args, **kwargs)
        context.pop('object', None)
        return context

    def get_object(self, queryset=None):
        return List.objects.get(unique_list_id=self.kwargs['unique_list_id'])
{{ view.object.list_name }}