Repository URL to install this package:
|
Version:
3.6.4 ▾
|
£OY ( ã @ s d Z d d l m Z d d l m Z d d l m Z d d l m Z d d l
m Z d d l m
Z
d d Z d
d Z Gd d
d
e Z Gd d d e Z Gd d d e Z Gd d d e Z Gd d d e Z Gd d d e Z d S)aK
We perform uniqueness checks explicitly on the serializer class, rather
the using Django's `.full_clean()`.
This gives us better separation of concerns, allows us to use single-step
object creation, and makes it possible to switch between using the implicit
`ModelSerializer` class and an equivalent explicit `Serializer` class.
é )Úunicode_literals)Ú DataError)Ú
ugettext_lazy)Úunicode_to_repr)ÚValidationError)Ú
smart_reprc
C s4 y | j SWn t t t f k
r/ d SYn Xd S)NF)ÚexistsÚ TypeErrorÚ
ValueErrorr )Úqueryset© r úX/Users/carlton/Documents/Django-Stack/django-rest-framework/rest_framework/validators.pyÚ qs_exists s r c
K s= y | j | SWn% t t t f k
r8 | j SYn Xd S)N)Úfilterr r
r Únone)r Úkwargsr r r
Ú qs_filter s r c @ sp e Z d Z d Z e d Z d d d d Z d d Z d d
Z d d Z d
d Z
d d Z d S)ÚUniqueValidatorz
Validator that corresponds to `unique=True` on a model field.
Should be applied to an individual field on the serializer.
zThis field must be unique.NÚexactc C s1 | | _ d | _ | p | j | _ | | _ d S)N)r Úserializer_fieldÚmessageÚlookup)Úselfr r r r r r
Ú__init__- s zUniqueValidator.__init__c C s, | j d | _ t | j d d | _ d S)zr
This hook is called by the serializer instance,
prior to the validation call being made.
é ÚinstanceNéÿÿÿÿ)Úsource_attrsÚ
field_nameÚgetattrÚparentr )r r r r r
Úset_context3 s zUniqueValidator.set_contextc C s) d | j | j f | i } t | | S)zT
Filter the queryset to all instances matching the given attribute.
z%s__%s)r r r )r Úvaluer Ú
filter_kwargsr r r
Úfilter_queryset>