0

我需要将 2 个函数 save() 添加到一个模型。怎么做?

def save(self, *args, **kwargs):
    self.slug = slugify(self.title)
    super(Property, self).save(*args, **kwargs)

def save(self, *args, **kwargs):
    self.key = ''.join(random.choice(string.letters) for i in xrange(132))
    ..........
    return self
4

1 回答 1

1

你不能。即使它们有两个不同的签名,在 Python 中也不可能有两个同名的函数(在您的情况下,它们几乎没有签名)。

你可以这样做:

def save(self, which_save, *args, **kwargs):
    if(which_save == 1):
        do_something()
    elif(which_save == 2):
        do_something_else()
    else:
        raise ValueError

或两个不同的名称:

def save_a(self, *args, **kwargs):
    # some code

def save_b(self, *args, **kwargs):
    # some other code

或者您可以将两者混合使用 - havesave和。save_asave_b

于 2013-02-21T19:27:03.137 回答