如何将self传递给单独类的未绑定方法

2024-06-16 14:19:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在更新django recurrence包,以便与我的Python/django版本一起使用。我要面对的是https://github.com/emperorcezar/django-recurrence/blob/master/recurrence/fields.py#L103的那条线

return super(RecurrenceField, self).formfield(**defaults)

调用该行的类是RecurrenceModelField,它是围绕RecurrenceField排序的包装器(但不是子类)。你知道吗

从某种意义上说,这个超级()黑魔法肯定奏效了,但它已经不起作用了。现在我想知道如何复制这个功能?你知道吗

有没有一个简单的修复方法让它重新工作,或者我必须重构?你知道吗


Tags: djangopyhttps版本githubmastercomfields
1条回答
网友
1楼 · 发布于 2024-06-16 14:19:40

该函数是在commit54909d74fe中添加的。那是行不通的。你知道吗

RecurrenceModelField对象是Django的OneToOneField的子类。查看base class formfield method,绑定方法的参数总是RecurrenceModelField的实例。你知道吗

我认为最可能的解释是这是一个复制/粘贴错误,因为same line出现在RecurrenceField类方法中。作者可能是复制了它,忘记了更改类名。你知道吗

您应该将该行更改为:

return super(RecurrenceModelField, self).formfield(**defaults)

相关问题 更多 >