简体   繁体   English

DjangoRestFramework - 如何使用“pk”过滤列表?

[英]DjangoRestFramework - How can I use 'pk' to filter a list?

I want to filter a list of BatchLog objects according to pk that I send through the request - which is their batch_id .我想根据我通过请求发送的pk过滤BatchLog对象列表 - 这是他们的batch_id Is there a way to access it on views.py file?有没有办法在views.py文件上访问它?

I have this in my urls.py file我的urls.py文件中有这个

path('feed/<int:pk>', GetFeedItemView.as_view())

And in my views.py file I want to access a BatchLog object by filtering its batch_id在我的 views.py 文件中,我想通过过滤它的 batch_id 来访问BatchLog batch_id

class GetFeedItemView(RetrieveAPIView):
    serializer_class = FeedSerializer

    def get_queryset(self):
        return BatchLog.objects.filter(batch_id=self.request.pk)

This filter(batch_id=self.request.pk) doesn't work but I want to implement it in the same logic.filter(batch_id=self.request.pk)不起作用,但我想以相同的逻辑实现它。

How can I achieve this?我怎样才能做到这一点?

Thanks a lot.非常感谢。

You can use self.kwargs["pk"]你可以使用self.kwargs["pk"]

class GetFeedItemView(RetrieveAPIView):
    serializer_class = FeedSerializer

    def get_queryset(self):
        return BatchLog.objects.filter(batch_id=self.kwargs["pk"])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我如何过滤 Json 响应,仅使用 Djangorestframework 中的 DateFilter 将 Year 参数传递给 DateTime 字段 - how can i filter the Json response by only passing the Year parameter to the DateTime field using DateFilter in Djangorestframework 如何使用“djangorestframework-simplejwt”验证 jwt - How can I verify jwt using "djangorestframework-simplejwt" 注册后我如何获得 jwt 令牌(djangorestframework) - How can i after registration get jwt tokens (djangorestframework) Django:当我使用基于类的视图时,如何在views.py 中获得“pk”? - Django: How Can I get 'pk' in views.py when I use class based views? 如何告诉 SQLAlchemy 为 Session.merge(而不是 PK)使用不同的身份规则? - How can I tell SQLAlchemy to use a different identity rule for Session.merge (instead of the PK)? 如何使用 url 参数(即用户 ID<str:pk> ) 以 DJANGO 形式预填充字段</str:pk> - How can I use a url parameter(that is a user id <str:pk>) to prepopulate a field in DJANGO form 如何在python中按dataframe过滤列表? - How can I filter list by dataframe in python? 如何按不同条件过滤列表? - How can I filter a list by different conditions? 如何将列表过滤为三个子列表? - How can I filter a list into three sublists? 如何过滤字符串列表中的关键字? - How can I filter for a keyword in a list of strings?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM