【发布时间】:2021-10-21 09:00:12
【问题描述】:
我有以下代码:
from django_app.models import Model
def func_name():
name = "name"
if Model.objects.filter(name=name).count() > 1:
raise ValidationError("This name already exists.")
else:
return name
现在我想把它变成一个单线。这就是我所做的:
from django_app.models import Model
def func_name():
name = "name"
raise ValidationError("This name already exists") if Model.objects.filter(name=name).count() > 1 else return name
但这给了我一个语法错误。
在 Python 中可以实现这样的实现吗?
【问题讨论】:
-
不,因为语法错误告诉您在这种情况下不可能。
-
raise和return都是语句,不是表达式,不能成为条件表达式的一部分 -
其他人怎么说。而且,为什么??
标签: python python-3.x django one-liner