No, this is not an accurate statement to make. We’re not “in” anything other than a view.
Briefly, the get_context_data method gets the model name from the queryset returned by get_queryset, and adds an entry to the context based on that name - in addition to setting the key ‘object’ to that same data set.
You’re always calling get_absolute_url on an instance of an object, it doesn’t matter what the object type is.
If you read the source for the generic CBVs, you’ll get a better understanding of what’s going on here. (The Classy Class-Based View site along with the Class Based View diagram site are excellent aids for understanding how they work.)
This addresses your question #3.
#2 I’ve addressed before. The get_queryset method returns one queryset, which has one base model. Other, related data, is accessed through the related fields. It makes no sense to think of a get_queryset returning multiple querysets from different models. (This may require an adjustment of your “mental model” regarding how these CBVs work and what you’re trying to accomplish.)
To answer #1, I would need to know whether the relationship between Airport and Airport_Frequency is truly a one-to-many (One Airport may have many Airport_Frequency objects related to it) or if it’s actually a one-to-one (Each Airport only has one Airport_Frequency assigned to it. If so, then Airport_Frequency really should be defined as a OneToOne Field instead of a ForeignKey field.)
It’s also going to help me a lot if I can understand what your final objective is. What do you want on this page?
I’m assuming you want a page showing a List of things. What is this to be a list of? (Airport, or Airport_Frequency?)
For each entry in this list, what data do you want displayed?
You’ve commented a couple times on get_absolute_url - what do you want the URL for? (I’m guessing a detailed page for either Airport or Airport_Frequency, which one?)