首页 > 解决方案 > 使用 Django 删除一对多相关模型

问题描述

我在 Django 中定义了以下模型,并且正在寻找一种方法来删除与站点关联的所有 cookie。

模型.py

class Site(models.Model):
    created = models.DateTimeField(auto_now_add=True)
    last_updated = models.DateTimeField(auto_now=True)
    name = models.CharField(unique=True, max_length=settings.MAX_CHAR_COUNT)

class Cookie(models.Model):
    name = models.TextField()
    value = models.TextField(blank=True, null=True)
    host = models.ForeignKey(Site, on_delete=models.CASCADE, related_name='cookies')

我尝试了以下方法,但出现错误:

site_object.cookies.delete()

AttributeError: 'RelatedManager' object has no attribute 'delete'

标签: pythondjango

解决方案


你可以试试

site_object.cookies.all().delete()

在您的示例中,您正在调用管理器而不是 delete 方法。


推荐阅读