﻿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
17602	Django serializer does unnecessary db queries	anuraguniyal	Grzegorz Nosek	"When django serializes object, to get the foreign key id referenced in object it queries the db instead of just using the id e.g.

{{{#!python
class QBAccount(CompanyModel):
    company = models.ForeignKey(Company)

>>> from deretoapp.models import QBAccount
>>> import logging
>>> l = logging.getLogger('django.db.backends')
>>> l.setLevel(logging.DEBUG)
>>> l.addHandler(logging.StreamHandler())
>>> a = QBAccount.allobjects.all()[0]
>>> from django.core import serializers
>>> serializers.serialize('python', [a])
(0.000) SELECT `deretoapp_company`.`id`, ... FROM `deretoapp_company` WHERE `deretoapp_company`.`id` = 45995613-adeb-488f-9556-d69e856abe5f ; args=(u'45995613-adeb-488f-9556-d69e856abe5f',)
[{'pk': u'3de881eb-8409-4089-8de8-6e24f7281f37', 'model': u'deretoapp.qbaccount', 'fields': {... 'company': u'45995613-adeb-488f-9556-d69e856abe5f' ....}}]
}}}

Here db query after `serializers.serialize` is not needed because compay id could have been obtained directly by `a.company_id`, and query itself shows id is being passed to db to get the id, it looks like problem is because `a.company.id` is a db query which in ideal world also should not happen.
"	Bug	closed	Core (Serialization)	1.3	Normal	fixed			Ready for checkin	1	0	0	0	0	0
