If you use fact_name, then you expect a FactName instance.
if you pass a fact_name_id then you expect a numerical ID.

you can't mix between them (which is the current bug I was hitting).