The only thing I can see in your code that might cause problems is the
value for exclude:
exclude = ('a55_id')
This is not what you think it is. It's not a single-element tuple. It
is actually a single string, which will be treated as if it were a
list of characters ie ['a', '5', '5', '_', 'i', 'd']. Naturally, the
admin doesn't recognise this as a field, so won't exclude it.
I think what you meant was
exclude = ('a55_id',)
- note the extra comma, which is how you define a single-element
tuple.
There's no reason you can't have custom forms in an inline formset - I
do this all the time, using very similar code to the above.
--
DR.