Is there a way in Django to write a query using the ORM, not raw SQL that allows you to JOIN on another table without there being a foreign key? Looking through the documentatio
No, there isn't an effective way unfortunately.
The .raw() is there for this exact thing. Even if it could it probably would be a lot slower than raw SQL.
.raw()
There is a blogpost here detailing how to do it with query.join() but as they themselves point out. It's not best practice.
query.join()