이것은 일반적으로 유용 할 수있는 Python Mixins에 대한 질문입니다. 제가 가장 잘 알고있는 사용 사례 인 장고 모델을 사용하고 있습니다.
믹스 인은 '객체'와 믹스 인하도록 설계된 클래스에서 상속해야합니까?
코드 별 예, 달성하려는 것에 따라 더 정확하거나 더 나은 것이 무엇입니까?
이
class TaggingMixin(models.Model):
tag = models.ForeignKey(Tag)
class Meta:
abstract = True
class MyModel(models.Model, TaggingMixin):
title = models.CharField(max_length=100)
아니면 이거:
class TaggingMixin(object):
tag = models.ForeignKey(Tag)
class Meta:
abstract = True
class MyModel(models.Model, TaggingMixin):
title = models.CharField(max_length=100)
나는 객체에서 상속하는 것이 올바른 방법이라고 생각합니다. 하지만 인터넷 전체에서 첫 번째 사례의 예를보고 있습니다.
편집 : 후속 질문을 별도의 질문으로 옮겼습니다 : Django Abstract Models 대 간단한 Python mixins 대 Python ABCs
TypeError: Cannot create a consistent method resolution order (MRO). 수행class MyModel(TaggingMixin):하는 대신. 참조 stackoverflow.com/q/29214888/1627479