mirror of
https://github.com/kennethreitz/pydantic.git
synced 2026-06-05 23:00:18 +00:00
33b7d52d31
* moving docs to mkdocs * transfering readme to md and more * fixing build * splitting usage.md * improving schema.md and index.md * fix make_history.rst * models intro * working on data conversation and required fields * more fixes to models.md * list all standard types supported * list of pydantic types * tweaks * update links in code * Apply suggestions from code review incorporate @dmontagu's suggestions. Co-Authored-By: dmontagu <35119617+dmontagu@users.noreply.github.com> * Apply suggestions from code review more missed suggestions. Co-Authored-By: dmontagu <35119617+dmontagu@users.noreply.github.com> * Apply suggestions from code review more corrects. * cleanup * Field order warning * fix and regenerate benchmarks * format examples better, cleanup * improve schema mapping table * correct highlighting file types in schema.md * add redirects in javascript * add logo
49 lines
2.0 KiB
Python
49 lines
2.0 KiB
Python
import django
|
|
from django.conf import settings
|
|
|
|
settings.configure(
|
|
INSTALLED_APPS=['django.contrib.auth', 'django.contrib.contenttypes']
|
|
)
|
|
django.setup()
|
|
|
|
from rest_framework import __version__, serializers
|
|
|
|
|
|
class TestDRF:
|
|
package = 'django-restful-framework'
|
|
version = __version__
|
|
|
|
def __init__(self, allow_extra):
|
|
class Model(serializers.Serializer):
|
|
id = serializers.IntegerField()
|
|
client_name = serializers.CharField(max_length=255)
|
|
sort_index = serializers.FloatField()
|
|
# client_email = serializers.EmailField(required=False, allow_null=True)
|
|
client_phone = serializers.CharField(max_length=255, required=False, allow_null=True)
|
|
|
|
class Location(serializers.Serializer):
|
|
latitude = serializers.FloatField(required=False, allow_null=True)
|
|
longitude = serializers.FloatField(required=False, allow_null=True)
|
|
location = Location(required=False, allow_null=True)
|
|
|
|
contractor = serializers.IntegerField(required=False, allow_null=True, min_value=0)
|
|
upstream_http_referrer = serializers.CharField(max_length=1023, required=False, allow_null=True)
|
|
grecaptcha_response = serializers.CharField(min_length=20, max_length=1000)
|
|
last_updated = serializers.DateTimeField(required=False, allow_null=True)
|
|
|
|
class Skill(serializers.Serializer):
|
|
subject = serializers.CharField()
|
|
subject_id = serializers.IntegerField()
|
|
category = serializers.CharField()
|
|
qual_level = serializers.CharField()
|
|
qual_level_id = serializers.IntegerField()
|
|
qual_level_ranking = serializers.FloatField(default=0)
|
|
skills = serializers.ListField(child=Skill())
|
|
|
|
self.allow_extra = allow_extra # unused
|
|
self.serializer = Model
|
|
|
|
def validate(self, data):
|
|
s = self.serializer(data=data)
|
|
return s.is_valid(), s.data
|