Đây là câu hỏi về Python Mixins có thể hữu ích nói chung. Tôi chỉ sử dụng các mô hình Django vì đó là trường hợp sử dụng mà tôi quen thuộc nhất.Django Model Mixins: kế thừa từ mô hình.Model hoặc từ đối tượng?
Một mixin có được kế thừa từ lớp được thiết kế để kết hợp với hoặc từ 'đối tượng' không?
Ví dụ bằng mã, điều gì là chính xác hơn hoặc tốt hơn, hoặc tốt hơn tùy thuộc vào những gì bạn muốn đạt được?
này
class TaggingMixin(models.Model):
tag = models.ForeignKey(Tag)
class Meta:
abstract = True
class MyModel(models.Model, TaggingMixin):
title = models.CharField(max_length=100)
Hoặc này:
class TaggingMixin(object):
tag = models.ForeignKey(Tag)
class Meta:
abstract = True
class MyModel(models.Model, TaggingMixin):
title = models.CharField(max_length=100)
Tôi nghĩ rằng kế thừa từ đối tượng là đúng cách. Nhưng tôi nhìn thấy ví dụ về trường hợp đầu tiên trên tất cả các mạng ...
EDIT: Tôi đã di chuyển theo tôi lên câu hỏi cho một câu hỏi riêng biệt: Django Abstract Models vs simple Python mixins vs Python ABCs
Err, vâng bạn đúng, đây là một công việc cho một mô hình trừu tượng, trên thực tế tôi chỉ quên chúng trong mã: s Tôi đã thêm nó, nhưng bây giờ tôi bắt đầu trở nên bối rối hơn về câu hỏi của riêng tôi ... – hopla