这是一个关于Python Mixins的问题,一般来说可能很有用.我只是使用Django模型,因为这是我最熟悉的用例.
如果mixin继承自该类,它是否设计为与'object'混合使用?
代码示例,更正确或更好,或更好,取决于您想要实现的目标?
这个
class TaggingMixin(models.Model):
tag = models.ForeignKey(Tag)
class Meta:
abstract = True
class MyModel(models.Model, TaggingMixin):
title = models.CharField(max_length=100)
Run Code Online (Sandbox Code Playgroud)
或这个:
class TaggingMixin(object):
tag = models.ForeignKey(Tag)
class Meta:
abstract = True
class MyModel(models.Model, TaggingMixin):
title = models.CharField(max_length=100)
Run Code Online (Sandbox Code Playgroud)
我认为从对象继承是正确的方法.但我正在网上看到第一个案例的例子......
编辑:我已将我的后续问题转移到一个单独的问题:Django抽象模型与简单Python混合与Python ABCs
任何人都可以告诉我们在Django中抽象类和Mixin有什么区别.我的意思是,如果我们要从基类继承一些方法,为什么有像mixin这样的单独术语,如果它只是一个类.
baseclass和mixins之间的差异是什么