def test_foreign_key(self): fk_obj = RelationshipTestModel.objects.create() obj = TestModel.objects.create(test_fk=fk_obj) name, value = get_field(('test_fk', lambda o: o.some_attr), obj) self.assertEqual(name, 'test_fk') self.assertEqual(value, 'Attribute value.') name, value = get_field(('test_fk', lambda o: o.id), obj) self.assertEqual(name, 'test_fk') self.assertEqual(value, fk_obj.id)
def test_manager(self): other_obj = RelationshipTestModel.objects.create() obj = TestModel.objects.create() obj.test_m2m.add(other_obj) obj.save() name, value = get_field(('test_m2m', lambda o: o.some_attr), obj) self.assertEqual(name, 'test_m2m') self.assertEqual(value, ['Attribute value.']) name, value = get_field(('test_m2m', lambda o: o.id), obj) self.assertEqual(name, 'test_m2m') self.assertEqual(value, [other_obj.id])
def test_field(self): obj = TestModel.objects.create() name, value = get_field('some_field', obj) self.assertEqual(name, 'some_field') self.assertEqual(value, u'test string') num_name, num_value = get_field('num_field', obj) self.assertEqual(num_name, 'num_field') self.assertEqual(num_value, 0) obj = TestModel.objects.create( some_field='some text', num_field=435, ) name, value = get_field('some_field', obj) self.assertEqual(name, 'some_field') self.assertEqual(value, u'some text') num_name, num_value = get_field('num_field', obj) self.assertEqual(num_name, 'num_field') self.assertEqual(num_value, 435)
def test_attr(self): obj = TestModel.objects.create() name, value = get_field('test_attr', obj) self.assertEqual(name, 'test_attr') self.assertEqual(value, 'test attr value')