Hi, Thanks for the answer. My problem was, the id/pks werent populated, they were just None. But it seems that problem is related to some other problem in my models, which i have to fix first. Maybe that will fix my problems :)
On 18 Apr., 19:32, Daniel Roseman <dan...@roseman.org.uk> wrote: > On Apr 18, 5:32 pm, Daishy <dai...@web.de> wrote: > > > > > > > Hi together, > > > I'm trying to use select_related in a query, but it seems i'm doing > > something wrong. I have googled, but not really found anything (Maybee > > used the wrong keywords :/) > > > I've got a model that is related to another model, roughly like that: > > > class A(models.Model): > > a = models.CharField() > > > class B(models.Model): > > link = models.ForeignKey(A) > > > Now i want to query all entries in B along with the related models, > > which would be the following (?) > > objs = B.objects.select_related().all() > > item = objs[0] > > > This produces one correct join-statement and populates all objects. > > Now my problem: I need the keys of B / link.pk. Unfortunately item.pk, > > item.id, item.link.pk, item.link.id gives me None as result. Do i need > > to specify some other options, or is that just the default behaviour? > > If so, is there a way to fill the ids anyhow? (I've got 30 rows with > > ~2 foreign-keys each and all of them get displayed, which hits the db > > quite often.) > > I'm using Django from the trunk. > > > Thanks for any help! > > Daishy > > I'm really not sure what you're asking here. > > If you execute the code you've given and then print item.id or > item.pk, that will give you the primary key of the B object that you > got originally. If you print item.link.id, that will give you the > primary key of the A object that is related to the B object you have. > You don't need any extra code to do this. > > (In fact, if you only need the primary key of the related A object, > you don't even need to do select_related - you can just do > item.link_id, as this is an attribute of the B model not the A one. > But presumably you're after more attributes than just the pk.) > -- > DR. > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-us...@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com. > For more options, visit this group > athttp://groups.google.com/group/django-users?hl=en. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.