Django-Rest-Framework: Конечная точка, использующая идентификатор связанного поля в URL
У меня есть модель MarketHistoryListing, которая выглядит следующим образом:
class MarketHistoryListing(auto_prefetch.Model):
player_profile = auto_prefetch.ForeignKey(PlayerProfile, on_delete=models.SET_NULL, null=True)
sales_minute = models.DecimalField(
max_digits=1000, decimal_places=2, null=True)
Я хотел бы установить конечную точку, где я могу получить все MarketHistoryListing объекты, которые ниже определенного player_profile. Что-то вроде /api/market-history/<player_profile._id>
Я установил то, что я думаю, является правильным способом сделать вид - но я не уверен на 100%.
class MarketHistoryListingView(viewsets.ModelViewSet):
serializer_class = MarketHistoryListingSerializer
queryset = MarketHistoryListing.objects.all()
pagination_class = LargeResultsSetPagination
def get_queryset(self):
return MarketHistoryListing.objects.filter(player_profile=self.kwargs['user_inventory_pk'])
Однако я не знаю, как сделать URL. Я предполагаю, что это будет что-то похожее на следующее, но я не уверен, как передать динамический ID профиля игрока.
market_history_router = routers.NestedSimpleRouter(
router,
r'market-hitory',
lookup='user_inventory'
)
market_history_router.register(
<player_id>,
views.MarketHistoryListingView,
basename=<player_id>
)
Благодарю за любую помощь!