В примере, который они предоставили:
, например, в нашем классе Handfield, мы всегда наносите максимум. Метод Deconstruct () в классе базового поля увидит это и попытается вернуть его в аргументах ключевого слова; Таким образом, мы можем отказаться от аргументов ключевого слова для читаемости: < /p>
< /blockquote>
Код: Выделить всё
from django.db import models
class HandField(models.Field):
def __init__(self, *args, **kwargs):
kwargs['max_length'] = 104
super().__init__(*args, **kwargs)
def deconstruct(self):
name, path, args, kwargs = super().deconstruct()
del kwargs["max_length"]
return name, path, args, kwargs
Для любой конфигурации экземпляра вашего поля deconstruct () должен вернуть аргументы, которые вы можете передать , чтобы реконструировать это состояние. Удален, если необходимо создать поле?
Подробнее здесь: https://stackoverflow.com/questions/695 ... uct-method