2014-03-21 3 views
1

есть ли способ я могу вызвать функцию модели в admin.py для, например, предположим, у меня есть модель сказатьВызов функции модели в Django-админ

class A(models.Model): 
    first = models.IntegerField() 
    second = models.IntegerField() 
    total = models.IntegerField() 

    def Total_amount(self): 
     self.total+=first 
     self.total+=second 

Теперь я хочу, чтобы каждый раз, когда я делаю что-то от администратора сторона в первую и вторую, она автоматически должна отражать значение total. Как я могу это сделать, я имею в виду, что я могу что-то сделать в классе ModelAdmin, но не работает с моей стороны.

ответ

1

Когда вы сохраняете модель в администраторе, она вызывает метод full_clean на экземпляре вашей модели. Я предлагаю вам переопределить метод clean() на этой модели, чтобы получить нужное поведение, например:

def clean(self): 
    super(MyModel, self).clean() 
    self.Total_amount() 
+0

Thanx это было здорово !!! – saurabh

Смежные вопросы