# add smart list api
This commit is contained in:
parent
dd946943e4
commit
eee95c77bc
|
@ -8,7 +8,6 @@ class SmartListSerializer(serializers.ModelSerializer):
|
|||
model = SmartModule
|
||||
fields = [
|
||||
'name',
|
||||
'desc'
|
||||
'device_id',
|
||||
'chip_id'
|
||||
]
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
from django.urls import path
|
||||
from .views import SmartListAPIView
|
||||
|
||||
|
||||
app_name = 'smart-api'
|
||||
urlpatterns = [
|
||||
path('', SmartListAPIView.as_view(), name='list')
|
||||
]
|
|
@ -0,0 +1,29 @@
|
|||
from rest_framework.generics import (
|
||||
ListAPIView,
|
||||
RetrieveAPIView,
|
||||
CreateAPIView
|
||||
)
|
||||
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
from rest_framework.filters import SearchFilter, OrderingFilter
|
||||
from django.db.models import Q
|
||||
from .serializers import SmartListSerializer
|
||||
from ..models import SmartModule
|
||||
|
||||
|
||||
class SmartListAPIView(ListAPIView):
|
||||
serializer_class = SmartListSerializer
|
||||
filter_backends = [SearchFilter, OrderingFilter]
|
||||
search_fields = ['name', 'device_id', 'chip_id', 'region']
|
||||
|
||||
def get_queryset(self, *args, **kwargs):
|
||||
queryset_list = SmartModule.objects.all()
|
||||
query = self.request.GET.get('q')
|
||||
if query:
|
||||
queryset_list = queryset_list.filter(
|
||||
Q(name__icontains=query) |
|
||||
Q(device_id__icontains=query) |
|
||||
Q(chip_id__contains=query) |
|
||||
Q(region__icontains=query)
|
||||
).distinct()
|
||||
return queryset_list
|
|
@ -1,6 +1,5 @@
|
|||
from django.db import models
|
||||
from django.contrib.contenttypes.fields import GenericForeignKey
|
||||
from django.contrib.contenttypes.fields import GenericRelation
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
|
||||
|
||||
|
|
|
@ -19,4 +19,5 @@ from django.urls import path, include
|
|||
urlpatterns = [
|
||||
path('mosq_admin/', admin.site.urls),
|
||||
path('api/mosq/', include('mosquito.api.urls')),
|
||||
path('api/smart/', include('smart.api.urls')),
|
||||
]
|
||||
|
|
Loading…
Reference in New Issue