def test_foreignkeys(self): ftm1 = ForeignTestModel.objects.create(characters="foreign1") ftm2 = ForeignTestModel.objects.create(characters="foreign2") tm = TestModel() tm.boolean = False tm.characters = 'testing' tm.foreign_test_model = ftm1 self.assertEqual(set(tm.dirty_fields), set(('boolean', 'characters', 'foreign_test_model'))) tm.save() self.assertEqual(tm.dirty_fields, tuple()) tm.foreign_test_model = ftm2 self.assertEqual(tm.dirty_fields, ('foreign_test_model', )) tm.foreign_test_model.characters = "foreign2.0" self.assertEqual(tm.foreign_test_model.dirty_fields, ('characters', ))