1

私の django アプリの models.py では、models.Model と、インポートされた Python モジュール pyisbn からの Isbn10 というクラスの 2 つのクラスを継承しています。ただし、クラスのインスタンスを作成しようとすると、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 に答える