as_crispy_field got passed an invalid or inexistent field

Ok, that clears up a lot.

Personal recommendation - either use an FBV or create your own version of a CBV based upon the View class. The Django-provided CBVs are not really designed to work with multiple models. (Yes, you can get them to work, but it has always felt awkward to me.)

For a “link of links”, see my post at Multiple Models to one Form - #2 by KenWhitesell

In your situation here, I’d consider creating two model forms (with prefixes), one for each model. It’s probably going to be about as easy as any other method.