Fixed #21832

1st commit: Updates code, tests and docs.
2nd commit: Way to create fk instance at command line.
I am not sure but I think `default_username` would be `None` when FK.
I will add `not self.username_field.rel` in condition.