python - 如果一个字段为 TRUE,则自动从数据库中删除对象

标签 python django django-models

如果对象的一个​​属性为 TRUE,则自动从数据库中删除该对象。

我试过 Django Signals,但没有用。

class Question(models.Model):
    name = models.CharField(max_length=50)
    email = models.EmailField(max_length=50)
    question = models.TextField(max_length=200)
    answered = models.BooleanField(default=False)

    def __str__(self):
        return self.name

如果我在管理面板中将“answered”字段更改为 TRUE,则该对象必须自动从数据库中删除。

最佳答案

您将需要使用类似以下内容的 post_save 信号:

from .models import Question

from django.db.models.signals import post_save
from django.dispatch import receiver

@receiver(post_save, sender=Question)
def save_profile(sender, instance, **kwargs):
    if instance.answered:
        instance.delete()

关于python - 如果一个字段为 TRUE,则自动从数据库中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56884151/

相关文章:

Django:过滤多对多字段时重复

python - 在 Python 中从实例方法更改静态变量

django - 如何将 Reportlab 与基于 Django 类的 View 结合起来?

Django模型字段顺序

django - 使用 mod_wsgi 在 Apache2 上部署 Django - Django 项目的正确位置?

Django Rest Framework 在登录或注册后返回用户配置文件以及 api token

python - 如何防止 Django 中的 FCGI 请求超时

python - 将当前日期/时间添加到默认文件名

python - 按值排序后如何按字母顺序对字典的键进行排序?

python - 从项目中 Grep 类/函数