Django.fun

Django-Rest-Framework: Endpoint Using a Related Field ID in the URL

I have a MarketHistoryListing model that looks like the following:

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)

I'd like to setup an endpoint where I can get all of the MarketHistoryListing objects that below to a specific player_profile. Something like /api/market-history/<player_profile._id>

I setup what I think is the correct way to do the view - but i'm not 100% sure.

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'])

However, I really don't know how to do the URL. I'm assuming it will be something similar tot he following, but i'm not sure how to pass int he dynamic player profile ID.

market_history_router = routers.NestedSimpleRouter(
    router,
    r'market-hitory',
    lookup='user_inventory'
)

market_history_router.register(
    <player_id>,
    views.MarketHistoryListingView,
    basename=<player_id>
)

Appreciate any help!

Tutorials

Современный Python: начинаем проект с pyenv и poetry

Настройка проекта Python — виртуальные среды и управление пакетами

Использование requests в Python — тайм-ауты, повторы, хуки

Понимание декораторов в Python

ProcessPoolExecutor в Python: полное руководство

map() против submit() с ProcessPoolExecutor в Python

Понимание атрибутов, словарей и слотов в Python

Полное руководство по slice в Python

Выпуск Django 4.0

Безопасное развертывание приложения Django с помощью Gunicorn, Nginx и HTTPS

Автоматический повтор невыполненных задач Celery

Django REST Framework и Elasticsearch

Докеризация Django с помощью Postgres, Gunicorn и Nginx

Асинхронные задачи с Django и Celery

Релизы безопасности Django: 3.2.4, 3.1.12 и 2.2.24

Выпуски исправлений ошибок Django: 3.2.3, 3.1.11 и 2.2.23

Эффективное использование сериализаторов Django REST Framework

Выпуски безопасности Django: 3.2.2, 3.1.10 и 2.2.22

Выпущенные релизы безопасности Django: 3.2.1, 3.1.9 и 2.2.21

Обработка периодических задач в Django с помощью Celery и Docker

View all tutorials →