Django

⌘K
  1. Home
  2. Django
  3. Websoket+Celery Project C...
  4. 2.1 CallDetails API

2.1 CallDetails API

✅ Step 1: CallDetails মডেল

class CallDetails(models.Model):
    deviceId = models.CharField(max_length=255)
    number1 = models.CharField(max_length=255)
    number2 = models.CharField(max_length=255)
    durationInSec = models.IntegerField()
    timestampStart = models.DateTimeField()
    timestampEnd = models.DateTimeField()
    createdAt = models.DateTimeField(default=timezone.now)
    updatedAt = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return f"{self.deviceId} called {self.number2} ({self.durationInSec}s)"

✅ Step 2: serializers.py তে CallDetailsSerializer যোগ করো

from .models import CallDetails

class CallDetailsSerializer(serializers.ModelSerializer):
    class Meta:
        model = CallDetails
        fields = '__all__'

✅ Step 3: views.py তে CallDetails ভিউ যোগ করো

from .models import CallDetails
from .serializers import CallDetailsSerializer
from rest_framework.generics import ListAPIView

# ✅ GET /calldetails/
class CallDetailsListView(ListAPIView):
    queryset = CallDetails.objects.all()
    serializer_class = CallDetailsSerializer

✅ Step 4: urls.py তে route অ্যাড করো

from .views import CallDetailsListView

urlpatterns += [
    path('calldetails/', CallDetailsListView.as_view()),
]

✅ Optional: ডেমো ডেটা (Postman দিয়ে POST দিলে)

{
  "deviceId": "android001",
  "number1": "01711112233",
  "number2": "01888889999",
  "durationInSec": 90,
  "timestampStart": "2025-04-04T12:00:00Z",
  "timestampEnd": "2025-04-04T12:01:30Z"
}

How can we help?