Как переопределить модель в стороннем приложении django? - PullRequest
1 голос
/ 11 апреля 2019

Хочу модифицировать стороннюю модель django. Вот оригинальный код.

default_price = models.DecimalField(
        decimal_places=2, max_digits=7,
        null=True, blank=True,
        verbose_name=_("Default price"),
    )

Я хочу изменить max_digits=7 на max_digits=9, поэтому оно становится:

default_price = models.DecimalField(
        decimal_places=2, max_digits=9,
        null=True, blank=True,
        verbose_name=_("Default price"),
    )

Возможно ли модифицировать стороннюю модель django без непосредственного прикосновения к оригинальному стороннему коду или вилке?

Спасибо

1 Ответ

0 голосов
/ 12 апреля 2019

Я решаю это с помощью двухстрочного кода в моих моделях:

from thirdparty.models import ParentModelClass
ParentModelClass._meta.get_field('default_price').max_digits = 9

, затем makemigrations && migrate

вуаля, это работает, но я не знаю никаких недостатков при использовании этих трюков.

Это благодаря комментариям Петерино к этому https://stackoverflow.com/a/2357942/2579404

Надеюсь, что это поможет и другим в подобной ситуации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...