Django field that is a hybrid of text file upload and/or text box
Regardless of the method of input chosen, the data would be stored as
  a text column in the backing database.

In that case, I would use a regular CharField. It just makes more sense.
In the form, use 2 not required fields instead: key_text and key_file. Overwrite clean() to make at least one required. Then overwrite save(...).
I'm trying to see if this is possible: a Field object that is rendered as both a file upload prompt as well as a text box. Since my app deals with SSL certificates and keys, it makes sense to allow the user to either upload a key/cert file, or paste the key/cert in directly.
Regardless of the method of input chosen, the data would be stored as a text column in the backing database. This would purely be for convenience's sake.