Django 重写 save 方法:返回 super().save() 还是不返回?

cik*_*omo 3 django django-models

我想重写模型保存方法,但我见过两种类型的代码:

1.

def save(self):
    # some code
    return super().save()
Run Code Online (Sandbox Code Playgroud)
def save(self):
    #some code
    super().save()
Run Code Online (Sandbox Code Playgroud)

当没有return时我们什么时候使用return?

rud*_*dra 5

你不应该使用return super().save(*args, **kwargs). 因为 Django 类中的 save 方法不会返回任何内容models.Model这是对GitHub 存储库的引用。所以你应该总是使用:

def save(self, *args, **kwargs):
    #some code
    super().save(*args, **kwargs)
    # some more code
Run Code Online (Sandbox Code Playgroud)