首页 文章

构造函数问题与django模型的多重继承

提问于
浏览
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)

1 回答

  • 2

    你的 init ()定义需要self和Isbn . 所以你必须通过这两个 . 此外,自我应该永远是第一个参数 .

相关问题