python - 使用 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'
解决方案
你可以试试
site_object.cookies.all().delete()
在您的示例中,您正在调用管理器而不是 delete 方法。
推荐阅读
- android-studio - android 3.4 - 如何生成签名的apk和构建apk?
- javascript - 无法捕获由 js 附加的类的点击事件
- python - 如何在 AppleScript 上发送 iMessage?
- regex - 匹配除脚本标签之外的所有标签的 Ruby 正则表达式
- php - Auth::user() 在 Laravel 5.8 中返回 null
- jmx - 在 Grafana 中与 groupBy 一起计算百分比
- single-sign-on - 元数据中的 AssertionConsumerService 和 SSO 中的 saml2 发行者是否相同?
- c++ - 如何将垂直滚动条添加到全屏 win32 控制台?
- javascript - 拖放 Javascript if 语句问题
- css - 使用 CSS Grid 居中响应式项目