{{{#!python
from django.db import models
class RelatedModel(models.Model):
name = models.CharField(max_length=20)
class ModelA(models.Model):
related = models.ForeignKey(RelatedModel)
def set_related(self):
self.related = RelatedModel.objects.get(name="related_model2")
self.save()
class ModelB(ModelA):
name = models.CharField(max_length=20)
def set_related(self):
self.modela_ptr.set_related()
}}}
When running the following script
{{{#!python
r1 = RelatedModel.objects.create(name="related_model1")
r2 = RelatedModel.objects.create(name="related_model2")
b1 = ModelB.objects.create(related=r1, name="b1") # b1.related.name ==
"related_model1"
b1.set_related() # b1.related.name should be
"related_model2" now
print(b1.related.name) # shows "related_model1"
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/28512>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
Comment (by wckao):
It works if I calls b1.refresh_from_db() before accessing b1.related.name.
--
Ticket URL: <https://code.djangoproject.com/ticket/28512#comment:1>
* status: new => closed
* resolution: => invalid
--
Ticket URL: <https://code.djangoproject.com/ticket/28512#comment:2>