我试图使用Django中的_set获取相关对象。我想得到引用父对象的所有对象。
我的模特:
class MessageBoard(models.Model):
title = models.CharField(max_length=40)
message = models.TextField()
person = models.ForeignKey(User)
date = models.DateTimeField()
parent = models.ForeignKey("self", default=None, null=True)但是当我试图得到一个对象的集合时,我会得到一个错误。
>>> msg = MessageBoard.objects.get(pk=1)
>>> msgs = msg.parent_set.all()
Traceback (most recent call last):
File "<console>", line 1, in <module>
AttributeError: 'MessageBoard' object has no attribute 'parent_set'如果我做了
>>> MessageBoard.objects.filter(parent=1)它返回我想要的对象。我需要使用_set (或者实现相同结果的另一种方法),因为我想在django模板中使用。
发布于 2016-11-17 03:30:16
默认的反向引用不是由字段命名的,而是由模型命名的。应该是messageboard_set。
由于名称令人困惑,我建议在related_name上设置ForeignKey。
https://stackoverflow.com/questions/40646121
复制相似问题