Tôi đang sử dụng multi-table-inheritance và muốn biết cách tạo loại được kế thừa từ một thể hiện của lớp cha.Thừa kế mô hình Django: Tạo một lớp con bằng cách sử dụng siêu lớp hiện có
Sử dụng ví dụ được đưa ra trong tài liệu hướng dẫn:
class Place(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=80)
class Restaurant(Place):
serves_hot_dogs = models.BooleanField()
serves_pizza = models.BooleanField()
Bây giờ khi bạn tạo ra một Restaurant
, bạn sẽ tự động tạo ra một Place
, đó là tốt, và hành vi tôi mong đợi và muốn.
Nhưng nếu tôi thực hiện Place
và sau đó quyết định tôi muốn chuyển đổi thành một loại cụ thể (như Restaurant
). Làm thế nào để bạn tạo một Restaurant
, sử dụng Place
hiện có?
thể trùng lặp của [Django mô hình thừa kế: tạo tiểu thẩm thẩm (nhìn xuống) hiện] (http://stackoverflow.com/questions/4064808/django-model-inheritance-create- sub-instance-of-existing-instance-downcast) – jpic
Tôi thấy câu hỏi và câu trả lời đó, nhưng đã bị nhầm lẫn bởi vì tôi nghĩ rằng vấn đề đó phải làm với xác thực (vì một Người dùng hơi hơn một đối tượng đặc biệt) –
Tôi upvoted nhận xét trùng lặp, tuy nhiên ... câu hỏi đề cập đến là về Người dùng, điều này có thể gây nhầm lẫn. Tôi tìm thấy ví dụ này về địa điểm và nhà hàng (bị đánh cắp từ Tài liệu Django) rõ ràng hơn và giống với vấn đề của tôi .... nhưng trong cơ sở đó là cùng một vấn đề. –