You can do something like:
for row in cursor:
dictrow = dict( (d[0], c) for d, c in zip(cursor.description, row) )
(izip may be better than zip. Your call.)
Or for the whole result set:
result = [ dict( (d[0],c) for d, c in zip(cursor.description, row) )
for row in cursor ]
On Thu, Jun 16, 2011 at 10:03 AM, Cal Leeming [Simplicity Media Ltd]
<[email protected]> wrote:
> Okay, let me put it another way.
> Are there any plans to give developers an easy way to retrieve values from a
> cursor.fetchall(), in a DictCursor style?
> Default: ((Decimal('0'), Decimal('52'), Decimal('4159'), 9998L),)
> What I'm looking for:
> [{
> 'f1' : Decimal('0'),
> 'f2' : Decimal('52'),
> 'f3' : Decimal('4159'),
> 'f4' : 9998L
> }]
> Maybe something like cursor.fetchall(field_names=True), or
> cursor.dictfetchall() - which is what the removed function did.
> Cal
> On Thu, Jun 16, 2011 at 2:54 PM, Luke Plant <[email protected]> wrote:
>>
>> On 16/06/11 14:10, Cal Leeming [Simplicity Media Ltd] wrote:
>> > Okay, er.
>> >
>> > In reference to the original problem (cursor's not default to
>> > DictCursor), thus no field names are returned, is there a specific
>> > reason for this? If not, I'll probably raise a ticket to have it
>> > considered for change.
>>
>> I'm not sure exactly what you are asking, because this is about default
>> behaviour. The choice of a default is usually made according to what is
>> thought to be the most useful, or according to the way it happens to
>> have been done in the past.
>>
>> I also don't know what exactly you are suggesting. Our backwards
>> compatibility policy means that we aren't going to change the default,
>> unless other people's code is going to work transparently (which
>> wouldn't be the case here), so it doesn't really matter what the
>> original reason was, if there was one. If you are suggesting that we add
>> some functionality to make use of DictCursor more useful, then certainly
>> the suggestion is valid.
>>
>> Regards,
>>
>> Luke
>>
>> --
>> The probability of someone watching you is proportional to the
>> stupidity of your action.
>>
>> Luke Plant || http://lukeplant.me.uk/
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Django developers" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/django-developers?hl=en.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django developers" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/django-developers?hl=en.
>
--
Question the answers
--
You received this message because you are subscribed to the Google Groups
"Django developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-developers?hl=en.