【发布时间】:2019-09-13 11:16:57
【问题描述】:
这似乎是一个非常简单的问题,虽然我有一个解决方法,但我想很好地解决它。
编辑:我使用的是 Django 系统,所以 groups 变量实际上是从数据库继承/检索的)我只是试图做一个最小的例子,但我意识到这不利于解决我的问题
我有一堂课:
class Invite(models.Model, IndexedModelMixin):
def get_associated_groups(self):
return self.groups
但是当我在别处打电话给get_associated_groups时
def get_groups(resource_object):
resource_group_objects = resource_object.get_associated_groups()
其中Invite 是resource_object,抛出此错误:
get_associated_groups() missing 1 required positional argument: 'self'
我目前的解决方法是
resource_group_objects = resource_object.get_associated_groups(resource_object)
为什么 self 调用不是隐式的?
【问题讨论】:
-
def __init__(self): self.groups = ...w3schools.com/python/python_classes.asp -
@DeepSpace 我编辑了这个问题,但也许它仍然是同一个问题?我真的不能在 Django 中使用
__init__ -
很可能
resource_object不是Invite的实例,而是对Invite类本身的引用。请执行print(type(resource_object))并验证您实例化resource_object的方式