通过管理面板更新数据库时调用的方法
A method that is called when the databases are updated via the admin panel
我的想法是,我不需要每次都输入一些数据,这些数据的值取决于其他数据的值。例如。
class Example(models.Model):
1_score_team_1 = models.IntegerField()
2_score_team_1 = models.IntegerField()
1_score_team_2 = models.IntegerField()
2_score_team_2 = models.IntegerField()
total_score_of_team_1 = models.IntegerField()
total_score_of_team_2 = models.IntegerField()
def function:
total_score_of_team_1 = 1_score_team_1 + 2_score_team_1
total_score_of_team_2 = 1_score_team_2 + 2_score_team_2
return update total score of two teams
每次我通过管理面板输入数据时都应该调用此方法。
感谢@daniel-roseman link
我是这样理解的。
from django.db.models.signals import pre_save
from django.dispatch import receiver
@receiver(pre_save, sender='app_name.Example')
def my_callback(sender, instance, *args, **kwargs):
instance.total_score_of_team_1 = instance.1_score_team_1 + instance.2_score_team_1
instance.total_score_of_team_2 = instance.1_score_team_2 + instance.2_score_team_2
我的想法是,我不需要每次都输入一些数据,这些数据的值取决于其他数据的值。例如。
class Example(models.Model):
1_score_team_1 = models.IntegerField()
2_score_team_1 = models.IntegerField()
1_score_team_2 = models.IntegerField()
2_score_team_2 = models.IntegerField()
total_score_of_team_1 = models.IntegerField()
total_score_of_team_2 = models.IntegerField()
def function:
total_score_of_team_1 = 1_score_team_1 + 2_score_team_1
total_score_of_team_2 = 1_score_team_2 + 2_score_team_2
return update total score of two teams
每次我通过管理面板输入数据时都应该调用此方法。
感谢@daniel-roseman link 我是这样理解的。
from django.db.models.signals import pre_save
from django.dispatch import receiver
@receiver(pre_save, sender='app_name.Example')
def my_callback(sender, instance, *args, **kwargs):
instance.total_score_of_team_1 = instance.1_score_team_1 + instance.2_score_team_1
instance.total_score_of_team_2 = instance.1_score_team_2 + instance.2_score_team_2