def serialize(self, fields=None, ignore_serializers=None): if not fields: fields = self.opts.publish_fields if not self.instance: return None data = self.get_object_map_data() # Set all the ids for related models # so the datamapper can find the connection data.update(get_id_mappings(self)) # Serialize the fields for field in fields: data[field] = self._serialize_value(field, ignore_serializers) custom_serializer_functions = self._get_custom_field_serializers() for custom_function, name in custom_serializer_functions: serializer = getattr(self, name, None) if serializer: serializer = get_serializer(serializer, self) data[name] = custom_function(self.instance, serializer) else: data[name] = custom_function(self.instance) return data
def test_reverse_m2m(self): reverse_m2m = ReverseM2M.objects.create(number=12) m2m = M2M.objects.create(name='test') m2m.many.add(reverse_m2m) mapping = serializer_tools.get_id_mappings( ReverseM2MSerializer(instance=reverse_m2m)) self.assertEqual(list(mapping['m2m_set']), [m2m.pk])
def serialize(self, fields=None, ignore_serializers=None): if not fields: fields = self.opts.publish_fields if not self.instance: return None data = self.get_object_map_data() # Set all the ids for related models # so the datamapper can find the connection data.update(get_id_mappings(self)) # Serialize the fields for field in fields: data[field] = self._serialize_value(field, ignore_serializers) custom_serializer_functions = self._get_custom_field_serializers() for custom_function, name in custom_serializer_functions: serializer = getattr(self, name, None) if serializer: serializer = get_serializer(serializer, self) data[name] = custom_function(self.instance, serializer) else: data[name] = custom_function(self.instance) return data
def test_fk(self): reverse_fk = ReverseFk.objects.create(name='test') fk = Fk.objects.create(number=99, reverse_fk=reverse_fk) mapping = serializer_tools.get_id_mappings(FKSerializer(instance=fk)) self.assertEqual(mapping['reverse_fk'], reverse_fk.pk)
def test_reverse_m2m(self): reverse_m2m = ReverseM2M.objects.create(number=12) m2m = M2M.objects.create(name='test') m2m.many.add(reverse_m2m) mapping = serializer_tools.get_id_mappings(ReverseM2MSerializer(instance=reverse_m2m)) self.assertEqual(list(mapping['m2m_set']), [m2m.pk])
def test_reverse_one2one(self): ro2o = ReverseO2O.objects.create(bar='another test') o2o = O2O.objects.create(foo='test', reverse_o2o=ro2o) mapping = serializer_tools.get_id_mappings(ReverseO2OSerializer(instance=ro2o)) self.assertEqual(mapping['o2o'], o2o.pk)
def test_reverse_fk(self): reverse_fk = ReverseFk.objects.create(name='test') fk = Fk.objects.create(number=99, reverse_fk=reverse_fk) mapping = serializer_tools.get_id_mappings(ReverseFKSerializer(instance=reverse_fk)) self.assertEqual(list(mapping['fk_set']), [fk.pk])
def test_fk(self): reverse_fk = ReverseFk.objects.create(name='test') fk = Fk.objects.create(number=99, reverse_fk=reverse_fk) mapping = serializer_tools.get_id_mappings(FKSerializer(instance=fk)) self.assertEqual(mapping['reverse_fk'], reverse_fk.pk)
def test_reverse_one2one(self): ro2o = ReverseO2O.objects.create(bar='another test') o2o = O2O.objects.create(foo='test', reverse_o2o=ro2o) mapping = serializer_tools.get_id_mappings( ReverseO2OSerializer(instance=ro2o)) self.assertEqual(mapping['o2o'], o2o.pk)
def test_reverse_fk(self): reverse_fk = ReverseFk.objects.create(name='test') fk = Fk.objects.create(number=99, reverse_fk=reverse_fk) mapping = serializer_tools.get_id_mappings( ReverseFKSerializer(instance=reverse_fk)) self.assertEqual(list(mapping['fk_set']), [fk.pk])