def test_bulk_insert_returning_ids(self):
        m1 = Medium(name="test_bi_1")
        m2 = Medium(name="test_bi_2")

        self.assertIsNone(m1.id)
        self.assertIsNone(m2.id)

        new_objects = bulk_insert_returning_ids([m1, m2])

        self.assertIsNone(m1.id)
        self.assertIsNone(m2.id)
        self.assertIsNotNone(new_objects[0].id)
        self.assertIsNotNone(new_objects[1].id)

        self.assertEqual("test_bi_1",
                         Medium.objects.get(id=new_objects[0].id).name)
        self.assertEqual("test_bi_2",
                         Medium.objects.get(id=new_objects[1].id).name)
    def _create_medium(self, source):
        from amcat.models import Language

        try:
            Medium.objects.get(name__iexact=source)
        except Medium.DoesNotExist:
            l = Language.objects.get(id=1)
            Medium(name=source, abbrev=source[0:5], circulation=1,
                   language=l).save()