Say I have a model:
class Foo(models.Model): ...
and another model that basically gives per-user information about Foo:
Foo
As for outerjoins: Once you have a queryset qs from foo that includes a reference to columns from userfoo, you can promote the inner join to an outer join with qs.query.promote_joins(["userfoo"])
qs
qs.query.promote_joins(["userfoo"])