首页 > 解决方案 > Django:如何改变一个字段的值一个改变另一个?

问题描述

我在模型中有 2 个字段,当我更改字段的值以计算另一个字段时,我需要它

例子:

    Date_mission1_equipe=models.DateField (null=True,blank=True,max_length=200)
Date_mission2_equipe=models.DateField (null=True,blank=True,max_length=200)

例如,如果我自动为 Date_mission1_equipe 选择 01/01/2019 Date_mission2_equipe 应该是 02/01/2019

标签: djangopython-2.7django-models

解决方案


处理这个问题的方法很少。您可以覆盖模型save方法。或者也许最干净的是使用pre_save信号,如下所示。

from django.db.models.signals import pre_save

def change_date(sender, instance, **kwargs):
    my_object = MyModel.objects.get(id=instance.id)
    if instance.Date_mission1_equipe:
        a.Date_mission2_equipe = ...

pre_save.connect(change_date, sender=MyModel) 

推荐阅读