You might have a scope mismatch--i.e., the scope you're in when you invoke that snippet has to match the scope(s) in which it was defined.
In your case, the default scope selector for the 'many-to-many' snippet is source.python.django, yet the scope you were probably in at the time you invoked the snippet was source.python, which is the pre-set scope when you open/create a python file.
There's two ways to deal with this, both are easy. The first is to change the document's scope; the second is to change the function/snippet's scope.
To do the first, just change the language associated with the document you are in via the pop-up menu in second panel (from the left) of the control bar (at the very bottom of the TM document window). When you open a python (.py) document, it should be set to "Python" by default. Click the triangles just to the right of "Python" and select "Python Django". Once you've done that, then typing "manytomany" in the text area then hitting TAB, will do what you want.
Alternatively you can change the snippet's scope. To do this, open the Bundle Editor ("ctrl-option-cmd B"), then select "Python Django" then the "ManytoMany" snippet. Click the "settings" button at the upper right of the Bundle Editor window, then change the text in the Scope Selector text box to read "source python" (by default it should read "source.python.django").