Как разбить на страницы часть ответаPython

Программы на Python
Ответить
Anonymous
 Как разбить на страницы часть ответа

Сообщение Anonymous »

Код: Выделить всё

class Party(models.Model):
user = models.ForeignKey(
"user.User", on_delete=models.PROTECT, related_name="party"
)
name = models.CharField(max_length=255)
address = models.CharField(max_length=500)
GSTIN = models.CharField(max_length=100, null=True)
phone_no = models.CharField(max_length=20, null=True)
additional_fields = models.JSONField(null=True)

def __str__(self):
return f"{self.user} -> {self.name}"

class Inward(models.Model):
user: User = models.ForeignKey(
"user.User", on_delete=models.PROTECT, related_name="inward"
)
party: Party = models.ForeignKey(
"party.Party", on_delete=models.PROTECT, related_name="inward"
)
name = models.CharField(max_length=100)
serial_no = models.CharField(max_length=100, unique=True)

def __str__(self) -> str:
return f"{self.user} -> {self.party}'s {self.name} - {self.serial_no}"

class MDN(models.Model):
inward = models.ForeignKey(Inward, on_delete=models.PROTECT, related_name="mdn")
number = models.CharField(max_length=100, unique=True)
quantity = models.IntegerField()
date = models.DateField()

def __str__(self) -> str:
return f"{self.number} -> {self.inward}"
Итак, я создаю конечную точку, в которой мне нужно получить mdns, связанные с конкретным внутренним сервером, а также получить имя стороны и желаемый ответ в формате с разбивкой на страницы следующим образом:

Код: Выделить всё

{
"success": True,
"message": "Data retrieved",
"data": {
"inward name": "Abce",
"inward no": "123123",
"party": "Party A",
"mdns": {
"count": 2,
"next": "Link to next page",
"previous": "Link to previous page",
"results": [
{
"number": "MDN1",
"quantity": 150,
"date": "12-12-2025"
},
{
"number": "MDN2",
"quantity": 152,
"date": "1-10-2025"
}
],
}
}
}
Как мне написать сериализатор и представление, чтобы получить указанный выше формат?
Кроме того, следует ли отправлять данные в указанном выше формате или существует лучший формат, в котором данные можно отправлять в ответ?
Сообщите мне, если потребуется дополнительная информация или код.

Заранее спасибо

Подробнее здесь: https://stackoverflow.com/questions/798 ... f-response
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»