Вот текущий сценарий:
У меня есть модель Transaction
в приложении "payment
"
Я хочу добавить paypal_xyz_field
в этой модели Transaction
,после установки нового приложения payment_paypal
.
, т. е. расширить Transaction
в приложении paypal
и добавить поле paypal_xyz_field
Какой будет подход?Если я расширю модель транзакции, мне придется показать как paypalTransaction
, так и Transaction
в админке.
В админе я хочу показать только одну модель "Transaction
" с paypal_xyz_field
, paymill_xyz_field
, stripe_xyz_field
не paypalTransaction
, stripeTransaction
и т. Д.
Кроме того, вы хотите автоматически добавлять / удалять поля из DB / admin на основеприложений
# payment/models.py
from django.db import models
class Payment(models.Model):
base_field = models.CharField(max_length=64)
# paypal/models.py
from django.db import models
from payment.models import Payment
class Payment(Payment):
paypal_specific_field = models.CharField(max_length=64)
# stripe/models.py
from django.db import models
from payment.models import Payment
class Payment(Payment):
stripe_specific_field = models.CharField(max_length=64)