Django: 'Couldn't reconstruct field' on subclass of `OneToOneField`.
Я создал поле Extends
с этой супер короткой декларацией:
class Extends(models.OneToOneField):
def __init__(self, to, **kwargs):
super().__init__(
to,
on_delete=models.CASCADE,
primary_key=True,
**kwargs
)
Однако, если я использую это как поле в модели, скажем
class Person(models.Model):
user = Extends(User)
При выполнении миграций я получаю следующую ошибку:
TypeError: Couldn't reconstruct field user on app.Person: Extends.__init__() missing 1 required positional argument: 'to'
Мне трудно понять, что это значит. Как я могу это исправить?
Попробуйте так:
class Extends(models.OneToOneField):
def __init__(self, *args, **kwargs):
kwargs["on_delete"] = models.CASCADE
kwargs["primary_key"] = True
super().__init__(*args, **kwargs)