Added hint to use through_fields when appropriate
Raise a proper error if given non-existent field names