【问题标题】:Updating when database has changed in Django在 Django 中更改数据库时更新
【发布时间】:2012-03-21 09:06:24
【问题描述】:

我的数据库中有许多记录显示在屏幕上。但是,这些记录是用户生成的,有时必须删除。每条记录都有一个 show 字段,该字段最初始终设置为 true。当我们获得必须删除的内容时,人会在 Django 管理界面中将其设置为 false。发生这种情况时,我们需要将不良内容从屏幕上删除。所以我的问题是,在 Django 界面中,如何判断记录何时更新并针对这种变化做些什么?

【问题讨论】:

标签: django django-models django-admin


【解决方案1】:

你应该阅读signals:

关于如何做到这一点的想法:

from django.core.signals import post_save
from django.dispatch import receiver

@receiver(post_save, sender=MyModel)
def my_handler(sender, instance, created, raw, **kwargs):
    if created: # True for save, False for update
        ...

我认为这可以帮助您判断记录何时更新以及何时可以对其进行处理。

但是如果看到记录的用户不必刷新页面以隐藏记录,那么您可以使用websockets 接收您发送的信号信息。或者您可以每 20-30 秒执行一次 ajax 请求以检查所有记录并发现隐藏的记录,或者您可以检查您的信号将填充的最新隐藏记录列表。

无论如何,有不同的方法可以做到这一点。

【讨论】:

    猜你喜欢
    • 2015-08-13
    • 2020-05-20
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多