Changeset 5232
- Timestamp:
- 05/14/07 09:14:49 (2 years ago)
- Files:
-
- django/trunk/django/core/management.py (modified) (2 diffs)
- django/trunk/django/core/serializers/python.py (modified) (2 diffs)
- django/trunk/django/core/serializers/xml_serializer.py (modified) (2 diffs)
- django/trunk/tests/regressiontests/serializers_regress/models.py (modified) (1 diff)
- django/trunk/tests/regressiontests/serializers_regress/tests.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/core/management.py
r5172 r5232 1405 1405 print "No %s fixture '%s' in %s." % \ 1406 1406 (format, fixture_name, humanize(fixture_dir)) 1407 1408 sequence_sql = backend.get_sql_sequence_reset(style, models) 1409 if sequence_sql: 1410 if verbosity > 1: 1411 print "Resetting sequences" 1412 for line in sequence_sql: 1413 cursor.execute(line) 1414 1415 transaction.commit() 1416 transaction.leave_transaction_management() 1417 1407 1418 if count[0] == 0: 1408 1419 if verbosity > 0: … … 1411 1422 if verbosity > 0: 1412 1423 print "Installed %d object(s) from %d fixture(s)" % tuple(count) 1413 sequence_sql = backend.get_sql_sequence_reset(style, models)1414 if sequence_sql:1415 if verbosity > 1:1416 print "Resetting sequences"1417 for line in sequence_sql:1418 cursor.execute(line)1419 transaction.commit()1420 transaction.leave_transaction_management()1421 1424 1422 1425 load_data.help_doc = 'Installs the named fixture(s) in the database' django/trunk/django/core/serializers/python.py
r4718 r5232 38 38 related = getattr(obj, field.name) 39 39 if related is not None: 40 related = related._get_pk_val()40 related = getattr(related, field.rel.field_name) 41 41 self._current[field.name] = related 42 42 … … 81 81 # Handle FK fields 82 82 elif field.rel and isinstance(field.rel, models.ManyToOneRel): 83 data[field.attname] = field.rel.to._meta.pk.to_python(field_value) 83 if field_value: 84 data[field.attname] = field.rel.to._meta.get_field(field.rel.field_name).to_python(field_value) 85 else: 86 data[field.attname] = None 84 87 85 88 # Handle all other fields django/trunk/django/core/serializers/xml_serializer.py
r4733 r5232 83 83 related = getattr(obj, field.name) 84 84 if related is not None: 85 self.xml.characters(str( related._get_pk_val()))85 self.xml.characters(str(getattr(related, field.rel.field_name))) 86 86 else: 87 87 self.xml.addQuickElement("None") … … 182 182 return None 183 183 else: 184 return field.rel.to._meta. pk.to_python(184 return field.rel.to._meta.get_field(field.rel.field_name).to_python( 185 185 getInnerText(node).strip().encode(self.encoding)) 186 186 django/trunk/tests/regressiontests/serializers_regress/models.py
r5172 r5232 117 117 data = models.ManyToManyField('self', null=True, symmetrical=False) 118 118 119 120 class UniqueAnchor(models.Model): 121 """This is a model that can be used as 122 something for other models to point at""" 123 124 data = models.CharField(unique=True, maxlength=30) 125 126 class FKDataToField(models.Model): 127 data = models.ForeignKey(UniqueAnchor, null=True, to_field='data') 128 119 129 # The following test classes are for validating the 120 130 # deserialization of objects that use a user-defined django/trunk/tests/regressiontests/serializers_regress/tests.py
r4752 r5232 185 185 (m2m_obj, 446, M2MSelfData, []), 186 186 187 (data_obj, 450, UniqueAnchor, "UAnchor 1"), 188 (fk_obj, 451, FKDataToField, "UAnchor 1"), 189 (fk_obj, 452, FKDataToField, "UAnchor 2"), 190 (fk_obj, 453, FKDataToField, None), 191 (data_obj, 454, UniqueAnchor, "UAnchor 2"), 192 187 193 (data_obj, 500, Anchor, "Anchor 3"), 188 194 (data_obj, 501, Anchor, "Anchor 4"),
