南方是否处理模型混合?

时间:2013-06-27 12:59:38

标签: django django-south mixins

我创建了一个mixin并在某些模型中继承了它。问题是当我创建模式迁移时,mixin的字段就在那里。

class MyMixin(object):
    a_field = models.CharField(max_length=30, blank=True)
    another_field = models.DateTimeField(blank=True, null=True)

    class Meta:
        abstract = True


class MyModel(models.Model, myMixin):
    ...

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

似乎使用以下

使其工作
class MyMixin(models.Model):
    a_field = models.CharField(max_length=30, blank=True)
    another_field = models.DateTimeField(blank=True, null=True)

    class Meta:
        abstract = True


class MyModel(myMixin, models.Model):
    ...

变化是:

  • MyMixin继承了Model而不是object(尽管围绕这个地方进行了很多讨论,说django的mixins应该继承对象而不是Model)。
  • MyModel的继承顺序 - mixin必须先来