1

在我的 django 应用程序的 models.py 中,我从两个类继承:models.Model 和一个名为 Isbn10 的类,它来自导入的 Python 模块 pyisbn。但是,如果我尝试创建该类的一个实例,我会得到一个 TypeError: __init__() 恰好需要 2 个参数(1 个给定)

我试过颠倒父类的顺序,但没有帮助。

模型:

from django.db import models
import pyisbn

class Book10(pyisbn.Isbn10, models.Model):
    pass

Isbn 类定义(在 pyisbn 模块中定义):

class Isbn(object):
     def __init__(self, isbn):
        super(Isbn, self).__init__()
        self._isbn = isbn
        if len(isbn) in (9, 12):
            self.isbn = _isbn_cleanse(isbn, False)
        else:
            self.isbn = _isbn_cleanse(isbn)
4

1 回答 1

2

您的init () 定义需要 self 和 Isbn。所以你必须通过两者。此外, self 应该始终是第一个参数。

于 2013-04-10T22:03:38.480 回答