如何按工作顺序返回注释列表?

2024-07-02 12:13:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个案例:

我有一个训练课程:

class WorkOrder(models.Model):
    workorder_num = models.CharField(max_length=64, help_text="workorder number")
    name = models.CharField(max_length=32, help_text="name")
    content = models.TextField(help_text="content")

我还有一个WorkOrderComment课程:

class WorkOrderComment(models.Model):
    """
    comment 
    """
    workorder = models.ForeignKey(WorkOrder, help_text="belong to which order"  )  
    comment_user = models.OneToOneField(User, help_text="comment user")
    content = models.CharField(max_length=256, help_text="content")

因此,有一个要求,我想列出workorder注释,所以我编写了序列化程序和视图:

序列化程序:

class WorkOrderCommentSerializer(ModelSerializer):
    class Meta:
        model = WorkOrderComment
        fields = "__all__"

视图:

class WorkOrderCommentListAPIView(ListAPIView):
    serializer_class = WorkOrderCommentSerializer
    permission_classes = []
    queryset = WorkOrderComment.objects.filter()

但如果我列出workorder评论,你知道它会列出所有评论,没有组织

我想通过workorder得到它的评论,怎么办


Tags: textmodelmodelscomment评论helpcontentlength
1条回答
网友
1楼 · 发布于 2024-07-02 12:13:25

您可以使用nested-relationships来实现这一点

您不需要WorkOrderCommentListAPIView

您可以在WorkOrderCommentSerializer中:

class WorkOrderCommentSerializer(ModelSerializer):

    comments = WorkOrderCommentSerializer(many=True, read_only=True)
    class Meta:
        model = WorkOrderComment
        fields = "__all__" 

然后使用access WorkOrderCommentSerializer,您可以获得所需的内容

相关问题 更多 >