Django代理模型中的其他models.CharField

时间:2017-01-11 10:16:54

标签: python django-models

任何人都可以帮我添加额外的models.CharField到我的Django cities_light_region表。

这是我想要实现的:

class MyRegion(Region):
    state_code = models.CharField(max_length=100, default='XXX', blank=True)

    class Meta:
        proxy = True

错误: ?:( models.E017)代理模​​型'MyRegion'包含模型字段。

2 个答案:

答案 0 :(得分:0)

好吧,错误信息说明了一切:代理模型不能包含模型字段,原因很明显a proxy model is a class that uses the table of another model and only add or override behaviour

答案 1 :(得分:0)

我们可以通过以下技巧来实现

class Model(object):
    '''
    Skip extra field validation "models.E017"
    '''

    @classmethod
    def _check_model(cls):
        errors = []
        return errors

class MyRegion(Model, Region):
    state_code = models.CharField(max_length=100, default='XXX', blank=True)

    class Meta:
        proxy = True