Здравствуйте, это мой первый пост. У меня есть приложение API с использованием вкусного пирога. Он читает модели из базы данных. Я хотел бы использовать часть api url для фильтрации определенных объектов. Никаких аргументов, только часть URL. Например, в URL: / api / cars /: registration / я хотел бы отфильтровать любой автомобиль с этой регистрацией.
Я потратил бесчисленное количество часов, пытаясь найти все варианты, найденные в Интернете. Мне кажется, что лучшим вариантом будет переопределение get_object_list, но почему-то я не могу заставить его работать.
models.py
class Cars(models.Model):
car_registration = models.Int()
signal_time = models.DateTimeField()
pos_x = models.DecimalField(max_digits=9, decimal_places=6)
pos_y = models.DecimalField(max_digits=9, decimal_places=6)
urls.py
cars_resource = CarsResource()
urlpatterns = [
path('admin/', admin.site.urls),
path('api/<int:registration>/', include(cars_resource.urls)),
]
resources.py
class CarsResource(ModelResource):
def get_object_list(self, request):
registration = self.kwargs['registration']
return super(CarsResource, self).get_object_list(request).filter(car_registration=registration)
class Meta:
queryset = Cars.objects.all()
resource_name = 'cars'
В результате я обычно получаю ошибку 404. У меня ощущение, что я делаю что-то не так, но не могу найти это место.