2014-11-08 101 views
1

我已经与一些字段和方法这样一个Django模型:Django的模型派生类

class Follow(models.Model): 
    fields = ... 

    def methods(self, ...): 
     ... 

。我想在这个新的模型来创建具有相同的字段和方法的另一个模型,但是我想有新的领域和方法,以及像这样:

class Auto(Follow): 
    additionalfields = ... 

    def additionalmethods(self, ...): 
     ... 

,但在这种情况下,问题是,如果我创建一个自动对象,它也将出现在Follow.objects.filter() QuerySet中。我怎么能解决它呢?一个想法是在这两个相关值的模式,以指定is_auto = models.BooleanField(默认值=?)场,但schemamigration期间失败:

django.core.exceptions.FieldError: Local field 'autob' in class 'Auto' clashes 
with field of similar name from base class 'Follow' 

。任何想法如何解决它?

回答

2
class BaseItem(models.Model): 
    #fields and methods 

class Follow(BaseItem): 
    pass 

class Auto(BaseItem): 
    #additional fields 
+0

哦,简单!非常感谢! : - )。 – user2194805 2014-11-08 10:25:14