【发布时间】:2021-03-07 12:56:22
【问题描述】:
能否帮助我理解 pylint 消息 Signature 与覆盖的“保存”方法不同,pylint(signature-differs) 指的是什么?:
def save(self, *args, **kwargs):
"""
Override the original save method and update the number of
seats available
"""
reservations = (
Booking.objects.aggregate(
num_passengers=Count("passengers")
)
["num_passengers"] or 0
)
self.seats_available = self.destination.max_passengers - reservations
super().save(*args, **kwargs)
Django docs 说 “如果您在方法定义中使用 *args, **kwargs,您可以保证您的代码会自动支持这些(更新的方法)参数已添加。”
我不完全理解签名的工作原理,但我的理解是它与确保参数匹配有关。在这种情况下,我不认为我已经更改了默认保存方法的任何内容...那么是什么导致了问题?
【问题讨论】:
标签: django methods overriding signature