南方是否处理模型混合?

ask*_*tor 4 django mixins django-south

我创建了一个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):
    ...
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

ask*_*tor 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):
    ...
Run Code Online (Sandbox Code Playgroud)

变化是:

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