Python:对自函数的调用无法正常运行

时间:2019-04-24 08:12:52

标签: python django self

这似乎是一个非常简单的问题,尽管我有一种解决方法,但我想很好地解决它。

编辑:我正在使用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()

其中Inviteresource_object,将引发此错误:

get_associated_groups() missing 1 required positional argument: 'self'

我目前的解决方法是

resource_group_objects = resource_object.get_associated_groups(resource_object)

为什么自叫不隐含?

1 个答案:

答案 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