from rest_framework.validators import UniqueValidator, UniqueTogetherValidator
validators = [
UniqueTogetherValidator(
queryset=model.objects.all(),
fields=('name', 'age'),
message="唯一性校验不通过")]
说明:fields 可以填写多字段
UniqueTogetherValidator 用于校验当前数据与数据库中已保存数据之间的唯一性
当导入多组数据,并且需要在导入数据之间校验唯一性时,需要另外写一段程序来校验。
例如:
n = len(data)
for i in range(n):
for j in range(i + 1, n):
if (names[i] == names[j]) and (ages[i] == ages[j]):
return Response({'message': '唯一性校验不通过'}, status=status.HTTP_400_BAD_REQUEST)