def test_transform(self): try: IntegerField.register_lookup(Chr) authors = Author.objects.annotate(name_code_point=Ord('name')) self.assertCountEqual( authors.filter(name_code_point__chr=Chr(ord('J'))), [self.john]) self.assertCountEqual( authors.exclude(name_code_point__chr=Chr(ord('J'))), [self.elena, self.rhonda]) finally: IntegerField._unregister_lookup(Chr)
def test_chr_transform(self): try: IntegerField.register_lookup(Chr, 'chr') Author.objects.create(name='John Smith', alias='smithj') Author.objects.create(name='Élena Jordan', alias='elena') Author.objects.create(name='Rhonda') authors = Author.objects.annotate(name_code_point=Ord('name')) self.assertQuerysetEqual( authors.filter(name_code_point__chr=Chr(ord('J'))), ['John Smith'], lambda x: x.name) self.assertQuerysetEqual( authors.exclude(name_code_point__chr=Chr(ord('J'))), ['Élena Jordan', 'Rhonda'], lambda x: x.name, ordered=False, ) finally: IntegerField._unregister_lookup(Chr, 'chr')