I noticed the comment in django.db.models.sql.query near allow_explicit_fk: "A hack to allow foo_id to work in values() for backwards compatibility purposes. If we dropped that feature, this could be removed." 

Seems like maybe we'd be better off "won't fixing" the ticket rather than adding another hack to allow this to work. What do you think?