On 21 Jun 2011, at 01:53, Jeff Blaine wrote:
> >>> from hostdb.models import Device, Interface
> >>> hostname = 'beijing.mitre.org'
> >>> dev = Interface.objects.get(fqdn=hostname).device
> >>> dev.status
> <Status: Online>
> >>> f = dev._meta.get_field('status')
> >>> f.value_from_object(dev)
> u'Online'
> >>> # Super -- this is exactly what I would expect. Now trouble
> >>> dev.distro
> <Distro: redhat 5.6>
> >>> print dev.distro
> redhat 5.6
> >>> f = dev._meta.get_field('distro')
> >>> f.value_from_object(dev)
> 2L
> >>> # what the hell?
Psychic debugging since you didn't post the Device model:
dev.distro is a foreign key to the Distro model. When you ask for the value via
the get_field, you actually end up with the PK of the Distro rather than the
distro instance.
Malcolm
--
You received this message because you are subscribed to the Google Groups
"Django users" 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-users?hl=en.