这是我的模特
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
为什么会这样?有人可以帮助我吗?
由于
答案 0 :(得分:1)
你正在倒退。如果您想要parent_thread
,则必须将ForeignKey
放入Comment
课程,而不是像这样:
class Thread(models.Model):
...
class Comment (models.Model):
parent_thread = models.ForeignKey(Thread)
...
在您当前的代码中,您有多个 Thread
个对象链接到单个Comment
对象。