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, связанные с конкретным внутренним сервером, а также получить имя стороны и желаемый ответ в формате с разбивкой на страницы следующим образом:
Как мне написать сериализатор и представление, чтобы получить указанный выше формат?
Кроме того, следует ли отправлять данные в указанном выше формате или существует лучший формат, в котором данные можно отправлять в ответ?
Сообщите мне, если потребуется дополнительная информация или код.
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}" [/code] Итак, я создаю конечную точку, в которой мне нужно получить mdns, связанные с конкретным внутренним сервером, а также получить имя стороны и желаемый ответ в формате с разбивкой на страницы следующим образом: [code]{ "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" } ], } } } [/code] Как мне написать сериализатор и представление, чтобы получить указанный выше формат? Кроме того, следует ли отправлять данные в указанном выше формате или существует лучший формат, в котором данные можно отправлять в ответ? Сообщите мне, если потребуется дополнительная информация или код.