Django

⌘K
  1. Home
  2. Django
  3. Websoket+Celery Project C...
  4. 2.4 DeviceUsage মডেলের জন্য API

2.4 DeviceUsage মডেলের জন্য API

📁 core/models.py (DeviceUsage অংশ)

class DeviceUsage(models.Model):
    device_id = models.CharField(max_length=80, unique=True)
    usage_count = models.IntegerField(default=0)

    def __str__(self):
        return f"{self.device_id} - {self.usage_count}"

📁 core/serializers.py

from rest_framework import serializers
from .models import DeviceUsage

class DeviceUsageSerializer(serializers.ModelSerializer):
    class Meta:
        model = DeviceUsage
        fields = '__all__'

📁 core/views.py

from rest_framework import generics
from .models import DeviceUsage
from .serializers import DeviceUsageSerializer

# ✅ GET (list) & POST (create)
class DeviceUsageListCreateView(generics.ListCreateAPIView):
    queryset = DeviceUsage.objects.all()
    serializer_class = DeviceUsageSerializer

# ✅ PUT/PATCH/DELETE/GET single
class DeviceUsageDetailView(generics.RetrieveUpdateDestroyAPIView):
    queryset = DeviceUsage.objects.all()
    serializer_class = DeviceUsageSerializer
    lookup_field = 'id'

📁 core/urls.py

from django.urls import path
from .views import DeviceUsageListCreateView, DeviceUsageDetailView

urlpatterns += [
    path('device-usage/', DeviceUsageListCreateView.as_view()),         # List & Create
    path('device-usage/<int:id>/', DeviceUsageDetailView.as_view()),    # Retrieve, Update, Delete
]

✅ API Summary:

MethodEndpointDescription
GET/device-usage/সব ডিভাইস ইউজেজ লিস্ট
POST/device-usage/নতুন ডিভাইস ইউজেজ এন্ট্রি
GET/device-usage/<id>/নির্দিষ্ট ইউজেজ ডেটা
PUT/device-usage/<id>/সম্পূর্ণ আপডেট
PATCH/device-usage/<id>/جزئي আপডেট
DELETE/device-usage/<id>/রিমুভ করা

How can we help?