首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Django中获取模型的所有链接实例的最佳方法是什么?

在Django中获取模型的所有链接实例的最佳方法是什么?
EN

Stack Overflow用户
提问于 2020-04-11 12:45:47
回答 1查看 28关注 0票数 0

我正在尝试在Django中创建一个消息传递系统,我遇到了一个问题:如何有效地找到一个线程中链接的所有消息?

假设我有两个模型:

代码语言:javascript
运行
复制
class Conversation(models.Model):
    sender = models.ForeignKey(User)
    receiver = models.ForeignKey(User)
    first_message = models.OneToOneField(Message)
    last_message = models.OneToOneField(Message)

class Message(models.Model):
    previous = models.OneToOneField(Message)
    content = models.TextField()

(代码未经过测试,我确信它不会按原样工作)

既然它被设计成一个简单的链表,那么它是递归遍历它的唯一方法吗?我应该尝试只获取前一个的前一个,直到我找到第一个,还是有一种方法可以更有效地查询所有它们?

EN

回答 1

Stack Overflow用户

发布于 2020-04-11 13:30:37

我使用深度的Rest框架序列化程序。所以如果你有一个深度值为3的串行化程序,我将获取所有外键的完整模型,直到三个父级。

https://www.django-rest-framework.org/api-guide/serializers/#specifying-nested-serialization

代码语言:javascript
运行
复制
class AppliedSerializer(serializers.ModelSerializer):
    class Meta:
        model = Applied
        fields = ("__all__")
        depth = 3
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61152240

复制
相关文章

相似问题

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