From f8fab6f90233c7114d642dfe01a4e6d4cb14ee7d Mon Sep 17 00:00:00 2001 From: Jop Reyntjes Date: Sat, 5 Nov 2016 21:49:48 +0000 Subject: [PATCH] Fixed #27414 -- Doc'd that F() expressions on relations return pk values. --- docs/ref/models/expressions.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/ref/models/expressions.txt b/docs/ref/models/expressions.txt index 66bb905147..daf8440512 100644 --- a/docs/ref/models/expressions.txt +++ b/docs/ref/models/expressions.txt @@ -214,6 +214,15 @@ directly support ``output_field`` you will need to wrap the expression with expires=ExpressionWrapper( F('active_at') + F('duration'), output_field=DateTimeField())) +When referencing relational fields such as ``ForeignKey``, ``F()`` returns the +primary key value rather than a model instance:: + + >> car = Company.objects.annotate(built_by=F('manufacturer'))[0] + >> car.manufacturer + + >> car.built_by + 3 + .. _func-expressions: ``Func()`` expressions