这似乎是一个非常简单的问题,尽管我有一种解决方法,但我想很好地解决它。
编辑:我正在使用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)
为什么自叫不隐含?
答案 0 :(得分:4)
其中Invite是resource_object,则抛出此错误:
此处 Invite
是 类 ,它应该是 类实例 。
也就是说,您应该传递“ Ivaite
模型/类的实例”而不是 {{1} } 类
Invite
参考
1. Python calling method in class
invite_instance = Invite.objects.get(id=1)
get_groups(invite_instance) # calling the function