Something is wrong with your code as much as possible. The problem probably does not exist, but in how you use this code.
, , . , - Egg , , . cached_attr , .
, RelatedObject ForeignKey to Egg:
my_first_egg = Egg.objects.get(pk=1)
my_related_object = RelatedObject.objects.get(egg__pk=1)
my_second_egg = my_related_object.egg
my_first_egg my_second_egg pk 1, :
>>> my_first_egg.pk == my_second_egg.pk
True
>>> my_first_egg is my_second_egg
False
, my_first_egg my_second_egg.
, , ( , ), .