Django - 创建或删除对象

Dal*_*tor 3 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)
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法,比如get_or_createDjango 提供的方法?

ali*_*iva 7

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

try:
    Like.objects.get(user=request.user, post=post).delete()
except Like.DoesNotExist
    Like.objects.create(...)
Run Code Online (Sandbox Code Playgroud)