Open
Description
Hello! I've run into an issue using select_related
. I've noticed that where a relation is null and the related table is listed in select_related
, there is no record retrieved for the original model. Using these models for example:
class Track(orm.Model):
# fields omitted, not relevant
class Post(orm.Model):
# snip...
track = orm.ForeignKey(Track, allow_null=True)
Let's say I have two posts with IDs 1 and 2. Post 2 does not have a related track. If I write the query Post.objects.select_related('track').all()
, I only get post 1 returned.
However, if the select_from
in build_select_expression
is modified to include isouter
:
select_from = sqlalchemy.sql.join(select_from, model_cls.__table__, isouter=True)
This seems to do the trick.
Metadata
Metadata
Assignees
Labels
No labels