Django模型deconstruct()方法

时间:2016-07-21 17:51:29

标签: django django-models django-migrations

有人可以给出https://docs.djangoproject.com/en/1.8/topics/migrations/#migration-serializing中提到的解构()的一个可靠的例子。 我阅读了文档,并不能用一个例子来理解。

1 个答案:

答案 0 :(得分:0)

有一个相关的Django Ticket - https://code.djangoproject.com/ticket/22951 这是一个例子:

class Klass:
    def __init__(self, x, y, sep=','):
        self.x = x
        self.y = y
        self.sep = sep

    def __str__(self):
        return self.sep.join((str(self.x), str(self.y)))

    def deconstruct(self):
        return 'python.path.to.your.Klass', [self.x, self.y], \
               {'sep': self.sep}

当然,请不要忘记返回的args列表的顺序应该与位置参数的原始顺序(来自__init__方法)相同。