首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在外键中使用"self“从模型中获取"_set”

无法在外键中使用"self“从模型中获取"_set”
EN

Stack Overflow用户
提问于 2016-11-17 03:14:56
回答 1查看 402关注 0票数 0

我试图使用Django中的_set获取相关对象。我想得到引用父对象的所有对象。

我的模特:

代码语言:javascript
复制
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)

但是当我试图得到一个对象的集合时,我会得到一个错误。

代码语言:javascript
复制
>>> 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'

如果我做了

代码语言:javascript
复制
>>> MessageBoard.objects.filter(parent=1)

它返回我想要的对象。我需要使用_set (或者实现相同结果的另一种方法),因为我想在django模板中使用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-17 03:30:16

默认的反向引用不是由字段命名的,而是由模型命名的。应该是messageboard_set

由于名称令人困惑,我建议在related_name上设置ForeignKey

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40646121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档