在Python类(Django模型)中可以引用self的位置?

在Python类(Django模型)中可以引用self的位置?,python,django,self,Python,Django,Self,我有一个模型,看起来像下面这样: 类位置: 相关的 def which(self): 返回SomeModel.objects.filter(相关的) 上课地点(型号、型号、地点): attr1=models.CharField… … 相关的q=q(某些字段、某些内容、其他=自身) 有没有办法让这样的代码真正起作用?这个确切的代码不会运行,因为在声明related\u q时,实际上没有定义self 我考虑的选项只是在Location中抽象whatever并在子类中定义它,或者将related\u

我有一个模型,看起来像下面这样:

类位置:
相关的
def which(self):
返回SomeModel.objects.filter(相关的)
上课地点(型号、型号、地点):
attr1=models.CharField…
…
相关的q=q(某些字段、某些内容、其他=自身)
有没有办法让这样的代码真正起作用?这个确切的代码不会运行,因为在声明
related\u q
时,实际上没有定义
self

我考虑的选项只是在
Location
中抽象
whatever
并在子类中定义它,或者将
related\u q
设置为一个字符串,并将代码更改为以下行:

类位置:
相关的
def which(self):
返回SomeModel.objects.filter(related_q=self)
上课地点(型号、型号、地点):
attr1=models.CharField…
…
相关的\u q=“一些\u字段\u一些\u其他”

但是,这不起作用,因为这里的
related\u q
被视为kwarg的文字名称,而不是包含kwarg的字符串名称。

类变量也可以使用self访问

class Location:
    related_q: Q
    def whatever(self):
        return SomeModel.objects.filter(self.related_q)
或者可以直接使用类名引用它

class Location:
    related_q: Q
    def whatever(self):
        return SomeModel.objects.filter(Location.related_q)