I'm using Django 1.8.
Following is my signals.py
:
from django.db.models.signals import post_save
from django.dispatch import receiver
from datetime import datetime
from models import Watch, LastUpdated
@receiver(post_save, sender=Watch)
def my_handler(sender, **kwargs):
obj = LastUpdated.objects.all()
current_datetime = datetime.now()
if obj:
obj.last_updated = current_datetime
else:
obj = LastUpdated(last_updated=current_datetime)
obj.save()
My models.py
class LastUpdated(models.Model):
last_updated = models.DateTimeField(auto_now=True)
class Watch(models.Model):
brand = models.CharField(max_length=255)
model_name = models.CharField(max_length=255)
dial_image = models.ImageField(upload_to='watch/')
hour_hand = models.ImageField(upload_to='watch/')
minute_hand = models.ImageField(upload_to='watch/')
second_hand = models.ImageField(upload_to='watch/')
product_url = models.URLField()
status = models.BooleanField(default=True)
created_at = models.DateTimeField(auto_now_add=True)
How do I connect signal with the model?
In earlier version, we use to do post_save.connect(my_handler, sender=Watch)
in models.py file, but not anymore (as per the documentattion). How do we do it now? I don't understand the documentation.