class ConfigurationSerializer(serializers.Serializer): priority = fields.ChoiceField(PRIORITY) scheduler = fields.ChoiceField(SCHEDULER_TYPE) max_tasks = fields.IntegerField(min_value=1) weight = fields.ChoiceField(DECISION_WEIGHT) parallelism = fields.ListField(child=fields.RegexField(r'^\d+(\.\d+)?$'), min_length=4, max_length=4) memory = fields.FloatField() cpu_num = fields.IntegerField(allow_null=True, min_value=1) disk_size = fields.FloatField() cpu_model = fields.CharField(default='', allow_null=True, allow_blank=True) cpu_time_exec_cmds = fields.FloatField() memory_exec_cmds = fields.FloatField() console_level = fields.ChoiceField(LOGGING_LEVELS) file_level = fields.ChoiceField(LOGGING_LEVELS) console_formatter = fields.CharField() file_formatter = fields.CharField() keep_intermediate_files = fields.BooleanField() upload_verifier_files = fields.BooleanField() upload_other_files = fields.BooleanField() ignore_subjobs = fields.BooleanField() total_coverage = fields.BooleanField() coverage_details = fields.ChoiceField(COVERAGE_DETAILS) def create(self, validated_data): raise NotImplementedError def update(self, instance, validated_data): raise NotImplementedError
class PresentacionSerializer(serializers.EmbeddedDocumentSerializer): nombre = fields.CharField(required=True) precio_compra = fields.FloatField(required=True) precio_venta = fields.FloatField(required=True) lotes = fields.ListField(LotesSerializer(required=True)) medidas = MedidasSerializar(required=False) detalle_unitario = fields.ListField( DetalleUnitarioSerializer(required=False)) class Meta: model = Presentacion fields = "__all__"
class BovespaCompanySearchSerializerV1(CustomHaystackSerializer, BaseCachedSerializerMixin): """ A Fast Searcher (Solr) version of the original Business Object API View """ score = fields.FloatField(required=False) class Meta(CustomHaystackSerializer.Meta): model = BovespaCompany # The `index_classes` attribute is a list of which search indexes # we want to include in the search. index_classes = [BovespaCompanyIndex] # The `fields` contains all the fields we want to include. # NOTE: Make sure you don't confuse these with model attributes. These # fields belong to the search index! fields = [ "entity_type", "ccvm", "created_at", "cnpj", "updated_at", "company_name", "situation", "company_type", "granted_date", "canceled_date", "score", ] search_fields = ["text"]
class BovespaAccountSearchSerializerV1(CustomHaystackSerializer, BaseCachedSerializerMixin): """ A Fast Searcher (Solr) version of the original Business Object API View """ score = fields.FloatField(required=False) class Meta(CustomHaystackSerializer.Meta): model = BovespaAccount # The `index_classes` attribute is a list of which search indexes # we want to include in the search. index_classes = [BovespaAccountIndex] # The `fields` contains all the fields we want to include. # NOTE: Make sure you don't confuse these with model attributes. These # fields belong to the search index! fields = [ "ccvm", "period", "version", "number", "name", "financial_info_type", "balance_type", "comments", "amount", "created_at", "updated_at", "score", ] search_fields = ["text"]
class BovespaCompanyFileSearchSerializerV1(CustomHaystackSerializer, BaseCachedSerializerMixin): """ A Fast Searcher (Solr) version of the original Business Object API View """ score = fields.FloatField(required=False) class Meta(CustomHaystackSerializer.Meta): model = BovespaCompanyFile # The `index_classes` attribute is a list of which search indexes # we want to include in the search. index_classes = [BovespaCompanyFileIndex] # The `fields` contains all the fields we want to include. # NOTE: Make sure you don't confuse these with model attributes. These # fields belong to the search index! fields = [ "ccvm", "doc_type", "fiscal_date", "version", "status", "created_at", "updated_at", "protocol", "delivery_date", "delivery_type", "company_name", "company_cnpj", "fiscal_date_y", "fiscal_date_yd", "fiscal_date_q", "fiscal_date_m", "fiscal_date_md", "fiscal_date_w", "fiscal_date_wd", "fiscal_date_yq", "fiscal_date_ym", "source_url", "file_url", "file_name", "file_extension" "score" ]
def test_basic_mapping(self, assert_dict_equals): """ Confirm that the serializer can still handle models w/ standard Django fields """ class TestSerializer(DjongoModelSerializer): class Meta: model = GenericModel fields = '__all__' expected_dict = { 'id': drf_fields.IntegerField(label='ID', read_only=True), 'big_int': drf_fields.IntegerField(max_value=9223372036854775807, min_value=-9223372036854775808), 'bool': drf_fields.BooleanField(), 'char': drf_fields.CharField(max_length=20), 'comma_int': ("CharField(validators=[<django.core.validators.RegexValidator " "object>, <django.core.validators.MaxLengthValidator object>])"), 'date': drf_fields.DateField(), 'date_time': drf_fields.DateTimeField(), 'decimal': drf_fields.DecimalField(decimal_places=5, max_digits=10), 'email': drf_fields.EmailField(max_length=254), 'float': drf_fields.FloatField(), 'integer': drf_fields.IntegerField(max_value=2147483647, min_value=-2147483648), 'null_bool': drf_fields.NullBooleanField(required=False), 'pos_int': drf_fields.IntegerField(max_value=2147483647, min_value=0), 'pos_small_int': drf_fields.IntegerField(max_value=32767, min_value=0), 'slug': drf_fields.SlugField(allow_unicode=False, max_length=50), 'small_int': drf_fields.IntegerField(max_value=32767, min_value=-32768), 'text': "CharField(style={'base_template': 'textarea.html'})", 'time': drf_fields.TimeField(), 'url': drf_fields.URLField(max_length=200), 'ip': drf_fields.IPAddressField(), 'uuid': "ModelField(model_field=<django.db.models.fields.UUIDField: uuid>)", } assert_dict_equals(TestSerializer().get_fields(), expected_dict)
class MeasurementsSerializer(serializers.Serializer): timestamp = serializers.DateTimeField(required=True) #timestamp = fields.DateTimeField(input_formats=[%Y-%m-%dT%H:%M:%S.%fZ], required=True) metrics = fields.ListField( child=fields.DictField(child=fields.FloatField()), help_text= 'Any matric field like temperature, dew point, precipitation or can be added new one in the future', )
class DetalleUnitarioSerializer(serializers.EmbeddedDocumentSerializer): cantidad_unitaria = fields.IntegerField(required=False) nombre_sub_presentacion = fields.CharField(required=False) unidad_medida = fields.CharField(required=False) precio_unidad = fields.FloatField(required=False) class Meta: model = DetalleUnitario fields = "__all__"
class UserDetailSerializer(BaseModelSerializer): rate = fields.FloatField() class Meta: model = account_models.User fields = [ 'username', 'phone', 'first_name', 'last_name', 'photo', 'rate' ]
class CompanySearchSerializerV1(CustomHaystackSerializer, BaseCachedSerializerMixin): """ A Fast Searcher (Solr) version of the original Business Object API View """ address = AddressSerializerV1() founders = fields.ListField(required=False, child=fields.UUIDField()) specialties = fields.ListField(required=False, child=fields.CharField()) latest_twitter_followers = fields.ListField( required=False, child=fields.IntegerField()) websites = fields.DictField(required=False, child=fields.CharField()) crawler_config = dse_fields.CassandraJSONFieldAsText(required=False) extra_data = dse_fields.CassandraJSONFieldAsText(required=False) score = fields.FloatField(required=False) class Meta(CustomHaystackSerializer.Meta): model = Company # The `index_classes` attribute is a list of which search indexes # we want to include in the search. index_classes = [CompanyIndex] # The `fields` contains all the fields we want to include. # NOTE: Make sure you don't confuse these with model attributes. These # fields belong to the search index! fields = [ "_id", "created_at", "updated_at", "name", "short_description", "foundation_date", "last_round", "round_notes", "country_code", "stock_symbol", "domain", "address", "latitude", "longitude", "contact_email", "founders", "specialties", "latest_twitter_followers", "websites", "crawler_config", "extra_data", "text", "score" ]
def __init__(self, **kwargs): kwargs['child'] = fields.FloatField() super(GeoPointField, self).__init__(**kwargs)
def __init__(self, **kwargs): kwargs['child'] = fields.FloatField() DictField.__init__(self, **kwargs)
class CompanyGEOSearchSerializerV1(CustomHaystackSerializer, BaseCachedSerializerMixin): """ A Fast Searcher (Solr) version of the original Business Object API View to do GEO Spatial searches """ address = AddressSerializerV1() founders = fields.ListField(required=False, child=fields.UUIDField()) specialties = fields.ListField(required=False, child=fields.CharField()) latest_twitter_followers = fields.ListField(required=False, child=fields.IntegerField()) websites = fields.DictField(required=False, child=fields.CharField()) crawler_config = dse_fields.CassandraJSONFieldAsText(required=False) extra_data = dse_fields.CassandraJSONFieldAsText(required=False) score = fields.FloatField(required=False) distance = dse_fields.DistanceField(required=False, units="m") class Meta(CustomHaystackSerializer.Meta): model = Company # The `index_classes` attribute is a list of which search indexes # we want to include in the search. index_classes = [CompanyIndex] fields = [ "_id", "created_at", "updated_at", "name", "short_description", "foundation_date", "last_round", "round_notes", "country_code", "stock_symbol", "domain", "address_street_type", "address_street_name", "address_street_number", "address_state", "address_region", "address_city", "address_country_code", "address_zipcode", "latitude", "longitude", "contact_email", "founders", "specialties", "latest_twitter_followers", "websites", "crawler_config", "extra_data", "text", "score", "distance", "point", "linestring", ]