我正在使用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)
如何與模型連接的信號?
在早期版本中,我們使用models.py文件中的post_save.connect(my_handler, sender=Watch)
,但不再是(根據文檔)。我們現在怎麼做?我不明白這些文件。
什麼不起作用?你認爲「不再是」代碼在django 1.9 – Sayse
中是完全正確的。該代碼仍然適用於當前版本,但爲了使此代碼正常工作,需要添加哪些附加內容? – PythonEnthusiast
我不知道,你沒有說過問題是什麼 – Sayse