对象新增、修改唯一字段判断调整
This commit is contained in:
parent
2a742c948a
commit
b6686adef5
|
@ -15,6 +15,7 @@ class ModelViewBase(Resource):
|
|||
# 是否分页
|
||||
paging = True
|
||||
# 需要检查重复的字段
|
||||
# TODO 可能还需要多个字段组合的判断,并设默认值,dict可能比较合适
|
||||
uniq_fields = []
|
||||
|
||||
# method_decorators 可以用作权限校验,参考 `flask_restful.Resource`
|
||||
|
@ -76,10 +77,10 @@ class ModelViewBase(Resource):
|
|||
val = args.get(field)
|
||||
if val:
|
||||
exists = self.model.objects(**{field: val}).first()
|
||||
# 两种情况需要判断:
|
||||
# 若存在,以下两种情况需要判断:
|
||||
# 1. 创建时检查内容是否能匹配对象,匹配到返回异常
|
||||
# 2. 更新时若存在重复,并且不是当前修改的对象,返回异常
|
||||
if (not obj and exists) or (obj and obj.id != exists.id):
|
||||
if exists and ((not obj) or (obj and obj.id != exists.id)):
|
||||
errors.append(f"提交的 {field} 已存在")
|
||||
if errors:
|
||||
abort_response(400, 1001, msg=f"部分字段需要唯一,请检查重复!", errors=errors)
|
||||
|
|
Loading…
Reference in New Issue