Вот моя модельКак изменить внешний ключ ссылки в модели Django?
class Comment (models.Model):
parent = models.ForeignKey('Comment',
related_name='children',
null=True)
text = models.TextField(blank=True)
def __repr__(self):
return self.text
class Thread(models.Model):
comment = models.ForeignKey('Comment', related_name='parent_thread', null=True)
text = models.TextField(blank=True)
def __repr__(self):
return self.text
Когда я пытаюсь установить замечание потока на комментарий, например комментарий не получить обращенные связанный (я не могу получить доступ к полю related_name от комментария экземпляра)
from tree.models import Comment, Thread
thread1 = Thread(text='thread1')
c1 = Comment(text='c1')
c1.save()
thread1.save()
thread1.comment = c1
thread1.save()
str(c1.parent_thread) # return None
Почему это происходит? Кто-нибудь может мне помочь?
Thanks
Вы имеете в виду c1.parent вместо parent_thread? Django, скорее всего, кэшировал комментарий перед обновлением потока, и поэтому вам нужно перечитать его из базы данных для обновления кеша. – Ben
спасибо, но я имел в виду 'c1.parent_thread', я бы хотел, чтобы экземпляр' comment' обращался к 'thread' с помощью' parent_thread', используя related_name – Kevin