Я использую Django 1.8.Подключить модели Django с сигналами
Ниже мой 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()
Мой 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)
Как подключить сигнал с моделью?
В более ранней версии мы использовали файл post_save.connect(my_handler, sender=Watch)
в файле models.py, но не больше (согласно документу). Как мы это делаем сейчас? Я не понимаю документацию.
Что не работает? и что вы подразумеваете под «не больше», этот код по-прежнему отлично подходит для django 1.9. – Sayse
Согласен. Этот код по-прежнему работает с текущей версией, но какие дополнения мне нужно добавить, чтобы этот код работал? – PythonEnthusiast
Я не знаю, вы не сказали, в чем проблема – Sayse