Переопределить django действие по сохранению модели администратора - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть две django модели. Если я добавлю запись через django admin в modelA и сохраню ее, я бы хотел добавить значение общего поля modelB-s. (всего = всего + сумма) Есть ли способ переопределить метод сохранения django admin? Спасибо за ваш дальнейший ответ!

class modelA(models.Model):
    amount = models.IntegerField(default=0)

class modelB(models.Model):
    total = models.IntegerField(default=0)

Редактировать : Что я действительно хотел бы иметь:

class Transaction(models.Model):
    transaction_type = (
        (1, "incoming"),
        (2, "outgoing")
    )
    user = models.ForeignKey(User)
    amount = models.IntegerField(default=0)
    transfer_date = models.DateTimeField(default=timezone.now)
    type = models.IntegerField(choices=transaction_type, default=1)

class Employee(models.Model):
    name = models.CharField(max_length=200)
    totalBalance = models.IntegerField(default=0)

У меня есть модель о сотрудниках, которые имеют поле totalBalance, я проверяю, сколько у них денег, когда они хотят снять, например. У меня есть таблица транзакций, где я записываю входящие и исходящие транзакции. То, что я хотел бы иметь сейчас: - когда менеджер вводит запись входящей транзакции в таблицу транзакций, - тогда я хотел бы добавить эту сумму одновременно к Employee totalBalance

1 Ответ

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

Вы можете легко переопределить метод сохранения Django Admin. Как уже упоминалось в комментариях, есть лучшие способы сделать то, что вы пытаетесь сделать, но я просто отвечаю, как вы можете переопределить метод сохранения.

class MyAdminView(admin.ModelAdmin):
    def save_model(self, request, obj, form, change):
        super(MyAdminView, self).save_model(request, obj, form, change)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...