我有一个ForeignKey,在我的模型中可以为null,以模拟模型之间的松散耦合.看起来有点像:
class Message(models.Model):
sender = models.ForeignKey(User, null=True, blank=True)
sender_name = models.CharField(max_length=255)
Run Code Online (Sandbox Code Playgroud)
保存时,发件人名称将写入sender_name属性.现在,我希望能够删除发件人引用的User实例并将消息保留在原位.
开箱即用,一旦删除User实例,此代码总是会导致删除的消息.所以我认为信号处理程序是个好主意.
def my_signal_handler(sender, instance, **kwargs):
instance.message_set.clear()
pre_delete.connect(my_signal_handler, sender=User)
Run Code Online (Sandbox Code Playgroud)
可悲的是,它绝不是一个解决方案.不知怎的,Django首先收集它想要删除的内容,然后触发pre_delete处理程序.
有任何想法吗?我脑子里的结是哪里的?
我当前的Web应用程序项目大量使用ajax调用.他们中的大多数都很快并几乎立即做出反应.因此,无需一直显示ajax加载程序.但是当ajax调用花费的时间超过250ms(左右)时,我想显示一个ajax加载器.否则,用户可能会感到困惑,并一遍又一遍地点击链接.:)
任何想法如何使用jQuery实现这一目标?