2015-03-04 3 views
0

Я пытаюсь проверить существующую запись в рамках Джанго отдыха и после linkпроверки в рамках Джанго отдыха

В моем классе сериализатора у меня есть класс, как.

from django.forms import widgets 
from rest_framework import serializers 
from models import Part 

class PartSerializer(serializers.Serializer): 

    part_id = serializers.CharField(required=True, validators=[UniqueValidator(queryset=Part.objects.all())]) 
    capacity = serializers.IntegerField(required=True) 
    price = serializers.IntegerField(required=True) 


    def create(self, validated_data): 

     """ 
     Create and return a new `Part` instance, given the validated data. 
     """ 
     # try:part_exist = Part.objects.get(part_id = validated_data['part_id']) 
     # except:part_exist = None 
     # if part_exist: 
     #  raise serializers.ValidationError('Part name already exist.') 
     # else: 
     return Part.objects.create(**validated_data) 

Но я всегда получаю ошибку name 'UniqueValidator' is not defined

Я не знаю, как импортировать это, как он не упоминается в док .Please помочь мне, как это сделать .И если это не представляется возможным Должен ли я писать собственную логику проверки под представлениями?

Благодаря

ответ

1

Вы должны импортировать в UniqueValidator из rest_framework.validators модуля:

from rest_framework.validators import UniqueValidator 
+0

Благодарность @catavaran они нигде не упоминаются в валидации странице – Rohan

+0

Yep, документация не ясно. У них есть небольшая ссылка на источник 'validators.py' в правом верхнем углу страницы http://www.django-rest-framework.org/api-guide/validators/ – catavaran

+0

Или используйте IDE с функцией автоматического импорта. – Raz