Tôi cần tạo một lớp sử dụng một lớp cơ sở khác tùy thuộc vào một số điều kiện. Với một số lớp học tôi nhận được khét tiếng:python 3: LoạiError: xung đột metaclass: metaclass của một lớp dẫn xuất phải là một lớp con (không nghiêm ngặt) của metaclasses của tất cả các base của nó
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
Một ví dụ là sqlite3, đây là một ví dụ ngắn thậm chí bạn có thể sử dụng trong các phiên dịch:
>>> import sqlite3
>>> x = type('x', (sqlite3,), {})
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
>>>
Làm thế nào tôi có thể giải quyết vấn đề này?
Cảm ơn.
'sqlite3' là một mô-đun không phải là "lớp". – agf
@agf: Tôi chỉ xem xét điều này và nhận ra điều tương tự khi bạn đăng nội dung đó. – jdi
Cảm ơn bạn, bạn nói đúng! sqlite3.Connection làm cho nó hoạt động. –