To clarify - is your problem removing apostrophes, or having a search
mechanism that can accommodate variations in punctuation?
If the answer is the former, then the answer Ian gave is on the right track.
However, if your actual problem is full-text search, then there are
some better options. If you set up a full text search index, you'll be
able to allow for punctuation, spelling errors, word stems (e.g., a
search for "teacher" finding "teachers") and much more.
django-haystack is the place to start looking; Haystack is a Django
wrapper around a bunch of search backends (Solr, ElasticSearch,
Whoosh, and Xapian). If this is your first look into search backends,
I'd suggest using Elastic Search -- it's really easy to get going, and
is pretty powerful too. Of course, if you're planning to put this into
production, you'd be well served to take a look at the other options,
too.
Yours,
Russ Magee %-)