Django - 创建或删除对象

标签 django

我想知道在 Django 中创建(如果它不存在)或删除(如果它存在)一个对象的最佳方法是什么。

我知道我可以做这样的事情:

if Like.objects.filter(user=request.user, post=post).exists():
    Like.objects.filter(user=request.user, post=post).delete()
else:
    Like.objects.create(user=request.user, post=post)

有没有更好的方法,例如 get_or_create Django 提供的方法?

最佳答案

如果它是单个对象,请执行以下操作:

try:
    Like.objects.get(user=request.user, post=post).delete()
except Like.DoesNotExist
    Like.objects.create(...)

关于Django - 创建或删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51206549/

相关文章:

python - Django Rest Framework 自定义响应消息

javascript - 每篇文章都有一个单独的链接(bootstrap modal、django、jQuery)

python - DjangoCMS 工具栏缺失

python - 当 child 不能继承时如何创建基类?

python - Django admin 和 MongoDB,可能吗?

django - 在 django blocktrans 中使用 'now'?

链接到 'self' 的 django Manytomany 模型在选择时会链接到这两个对象。我只想要一个单向链接

django - 允许用户仅更改自己的密码/详细信息

django - JSON Web token 过期和记住我功能

python - 在 Django Rest 中传递 URL 中的日期范围