django serializer를 사용하여 여러 객체를 직렬화하지만 문제는 각 serialize가 객체에서 가져 오는 대신 db에서 원하는 키의 ID를 쿼리합니다.django serializer forign 키 id에 대한 db를 쿼리합니다.
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' ....}}]
장고 코드를 수정하지 않고이 동작을 변경하는 방법이 있습니까? 나는 a.company.id
이 당신은 Natural Keys를 사용하여 직렬화해야 dB에게
>>> django.VERSION
(1, 3, 1, 'final', 0)
이 DB를 쿼리를 피하지 않으며 나는'ID 즉 pk' 자연스럽지 키를 원하는 –