events = generic.GenericRelation('Event')
通过这个字段可以得到与某篇post相关联的所有事件,最重要的一点是如果没有这个字段,那么当删除一篇post的时候,与该post关联的事件是不会自动删除的。反之有这个字段就会进行自动的级联删除。
from django.db.models.signals import post_save
from django.dispatch.dispatcher import receiver
简单来说就是当django保存一个object的时候会发出一系列的signals,可以通过对这些signals注册listener,从而在相应的signals发出时执行一定的代码。
Django1.3中可以使用装饰器,像这样:
from django.core.signals import post_save
from django.dispatch import receiver
@receiver(post_save, sender=Tweet, dispatch_uid="my_unique_identifier")
def post_save_callback(sender, instance, **kwargs):
'''函数内容就省略了'''