Discussions
How to filter queryset of a model in APIViewSet?
25 days ago by Jahongir Ibragimov
My code snippets:
class Driver(BaseModel):
user = models.OneToOneField(
User, on_delete=models.CASCADE, related_name="driver", verbose_name=_("User")
)
passport_verification = models.CharField(
max_length=20,
choices=ModerationMethod.choices,
default=ModerationMethod.UNFILLED,
verbose_name=_("Passport verification"),
)
driver_license_verification = models.CharField(
max_length=20,
choices=ModerationMethod.choices,
default=ModerationMethod.UNFILLED,
verbose_name=_("Driver's License verification"),
)
profile_verification = models.CharField(
max_length=20,
choices=ModerationMethod.choices,
default=ModerationMethod.UNFILLED,
verbose_name=_("Profile verification"),
)
is_active = models.BooleanField(default=True, verbose_name=_("Is Active"))
is_verified = models.BooleanField(default=False, verbose_name=_("Is verified"))
class PendingDriver(Driver):
class Meta:
proxy = True
from ninja import Router
from ninja_crud import views, viewsets
from apps.users.models import PendingDriver
from .schemas import PendingDriverSchemaIn, PendingDriverSchemaOut
router = Router()
class PendingDriverViewSet(viewsets.APIViewSet):
router = router
model = PendingDriver
default_request_body = PendingDriverSchemaIn
default_response_body = PendingDriverSchemaOut
# Define all CRUD operations with minimal code
list_drivers = views.ListView()
read_driver = views.ReadView()
update_drivers = views.UpdateView()
delete_drivers = views.DeleteView()
So how can i filter the PendingDriver model's objects like PendingDriver.objects.filter(is_verified=False) ?