﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
3016	make reverse one-to-one field return None instead of DoesNotExist	shaunc <shaun@…>	nobody	"in django.db.models.fields.related.SingleRelatedObjectDescriptor, The
code for __get__:
{{{
    def __get__(self, instance, instance_type=None):
        if instance is None:
            raise AttributeError, ""%s must be accessed via instance"" % self.related.opts.object_name
        params = {'%s__pk' % self.related.field.name: instance._get_pk_val()}
        rel_obj = self.related.model._default_manager.get(**params)
        return rel_obj
}}}
Here, if ""instance._get_pk_val()"" returns None, then the get(**params)
will return *any* object.

(The primary key could be None for a new, unsaved object, for
instance.)

More sensible would either to be to return None or raise
self.related.model.DoesNotExist. "	defect	closed	Database layer (models, ORM)		normal	duplicate	121-rewrite	mir@…	Accepted	0	0	0	0	0	0
