2015-12-01 2 views
1

У меня есть модель Django:Auto увеличивает значение в Джанго по отношению к другому элементу

projectId = models.CharField(max_length=250) 
interfaceVersion = models.CharField(max_length=20,blank=False,verbose_name = "InterFace Version") 
dataSetVersion = models.SmallIntegerField(blank=False , verbose_name= "Data Set Version") 
numberOfRetries = models.IntegerField(null = True ,blank = True , verbose_name= "Number of Retries") 
retryTimeInterval = models.IntegerField(null = True ,default=30 , verbose_name= "Retry Time Interval") 

Если изменить значение numberOfRetries или retryTimeInterval и сохранить его, то interfaceversion следует Autoincrement. Как это сделать?

ответ

1

Вы можете использовать Signals по этому вопросу.

from django import dispatch 
from django.db.models.signals import pre_save 
# import your model 


@dispatch.receiver(pre_save, sender=MyModel) 
def my_pre_save_tasks(sender, instance, **kwargs): 
    old = MyModel.objects.get(pk=instance.pk) 
    if old.numberOfRetries != instance.numberOfRetries or old.retryTimeInterval != instance.retryTimeInterval: 
     instance.interfaceversion += 1 
+1

спасибо @Wtower ... Working Now –

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