Tôi có một mô hìnhThừa kế Django: cách có một phương thức cho tất cả các lớp con?
BaseModel
và một số lớp con của nó
ChildModelA(BaseModel), ChildModelB(BaseModel), ...
sử dụng đa bảng thừa kế. Trong tương lai tôi dự định có hàng chục mô hình phân lớp.
Tất cả các lớp con có một số thực hiện của phương pháp
do_something()
Làm thế nào tôi có thể gọi do_somthing từ một trường hợp BaseModel?
vấn đềHầu như giống hệt nhau (không có giải pháp) được đăng tải ở đây:
http://peterbraden.co.uk/article/django-inheritance
Một câu hỏi đơn giản: làm thế nào tôi giải quyết BaseModel instnace đến một trong những ví dụ lớp con của nó mà không cần kiểm tra tất cả các lớp con có thể?
Điều này là đúng, nhưng không liên quan trong trường hợp này. Vấn đề chính là khi làm việc với sự thừa kế đa bảng Django, người ta thường có một cá thể của lớp cơ sở có sẵn (tức là từ truy vấn bảng cơ sở), mặc dù đối tượng là "thực sự" của một kiểu con (tức là có một nhập vào bảng con). –