gpt4 book ai didi

Django :为什么是self。用在这里?

转载 作者:行者123 更新时间:2023-12-01 13:19:49 25 4
gpt4 key购买 nike

我只是在查看官方文档中的动态过滤:https://docs.djangoproject.com/en/2.0/topics/class-based-views/generic-display/#dynamic-filtering

上面写着

def get_queryset(self):
self.publisher = get_object_or_404(Publisher, name=self.kwargs['publisher'])
return Book.objects.filter(publisher=self.publisher)

有谁知道,为什么self.publisher = get_object_or_404,用的是self。一开始?到目前为止,我了解到您不添加 self 。在定义变量时。

具体来说,我现在不确定的是我是否应该在此处使用该代码:

def get_queryset(self):
slug = self.kwargs.get('slug')
return Event.objects.filter(organiser__slug=slug)

或者那个:

def get_queryset(self):
self.slug = self.kwargs.get('slug')
return Event.objects.filter(organiser__slug=self.slug)

最佳答案

在这里使用 self:

def get_queryset(self):
self.publisher = get_object_or_404(Publisher, name=self.kwargs['publisher'])
return Book.objects.filter(publisher=self.publisher)

我们正在声明一个类级变量,该变量可以被此类中的其他方法使用。这意味着我们可以通过调用来使用变量:

self.publisher

类里面的任何地方。

关于 Django :为什么是self。用在这里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50548967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com