def test_sweeping(self): tm = TestModel() tm.boolean = False tm.characters = 'testing' self.assertEqual(_changes(tm, _to_dict(tm)), { 'boolean': True, 'characters': '' }) tm.save() self.assertEqual(_changes(tm, _to_dict(tm)), {})
def test_sweeping(self): tm = TestModel() tm.boolean = False tm.characters = 'testing' self.assertEqual(tm.get_dirty_fields(), { 'boolean': True, 'characters': '' }) tm.save() self.assertEqual(tm.get_dirty_fields(), {})
def test_dirty_fields(self): tm = TestModel() # initial state shouldn't be dirty self.assertEqual(tm.get_dirty_fields(), {}) # changing values should flag them as dirty tm.boolean = False tm.characters = 'testing' self.assertEqual(tm.get_dirty_fields(), { 'boolean': True, 'characters': '' }) # resetting them to original values should unflag tm.boolean = True self.assertEqual(tm.get_dirty_fields(), {'characters': ''})
def test_is_dirty(self): tm = TestModel() self.assertTrue(tm.is_dirty()) tm.save() self.assertFalse(tm.is_dirty()) m = TestModelWithForeignKey() self.assertTrue(m.is_dirty()) m.save() self.assertFalse(m.is_dirty()) m.fkey = tm self.assertTrue(m.is_dirty()) m.save() self.assertFalse(m.is_dirty()) m = TestModelWithForeignKey.objects.create( fkey=TestModel.objects.create(), ) self.assertFalse(m.is_dirty()) m.fkey.boolean = not m.fkey.boolean self.assertFalse(m.is_dirty())