equal
deleted
inserted
replaced
47 # Related to remote object via other field |
47 # Related to remote object via other field |
48 related = getattr(related, field.rel.field_name) |
48 related = getattr(related, field.rel.field_name) |
49 self._current[field.name] = smart_unicode(related, strings_only=True) |
49 self._current[field.name] = smart_unicode(related, strings_only=True) |
50 |
50 |
51 def handle_m2m_field(self, obj, field): |
51 def handle_m2m_field(self, obj, field): |
52 self._current[field.name] = [smart_unicode(related._get_pk_val(), strings_only=True) |
52 if field.creates_table: |
53 for related in getattr(obj, field.name).iterator()] |
53 self._current[field.name] = [smart_unicode(related._get_pk_val(), strings_only=True) |
|
54 for related in getattr(obj, field.name).iterator()] |
54 |
55 |
55 def getvalue(self): |
56 def getvalue(self): |
56 return self.objects |
57 return self.objects |
57 |
58 |
58 def Deserializer(object_list, **options): |
59 def Deserializer(object_list, **options): |
81 m2m_convert = field.rel.to._meta.pk.to_python |
82 m2m_convert = field.rel.to._meta.pk.to_python |
82 m2m_data[field.name] = [m2m_convert(smart_unicode(pk)) for pk in field_value] |
83 m2m_data[field.name] = [m2m_convert(smart_unicode(pk)) for pk in field_value] |
83 |
84 |
84 # Handle FK fields |
85 # Handle FK fields |
85 elif field.rel and isinstance(field.rel, models.ManyToOneRel): |
86 elif field.rel and isinstance(field.rel, models.ManyToOneRel): |
86 if field_value: |
87 if field_value is not None: |
87 data[field.attname] = field.rel.to._meta.get_field(field.rel.field_name).to_python(field_value) |
88 data[field.attname] = field.rel.to._meta.get_field(field.rel.field_name).to_python(field_value) |
88 else: |
89 else: |
89 data[field.attname] = None |
90 data[field.attname] = None |
90 |
91 |
91 # Handle all other fields |
92 # Handle all other fields |