use get_or_create on creating image renditions, to take advantage of its IntegrityError handling and avoid race conditions