Django rest_framework MVC структура

В настоящее время я работаю над проектом Django, используя rest_framework. Проект построен вокруг конечных точек API, которые будут использоваться на стороне клиента для отправки/получения данных о таких функциях, как пользователи, игроки, playerInventory и т.д. и т.п.

Мой вопрос заключается в том, что я пытаюсь структурировать этот проект и не уверен, должен ли я деструктурировать данные, которые получает мой front-side. Данные, с которыми я работаю, выглядят следующим образом

API ENDPOINT

Возвращает инвентарь одного игрока [GET]

{ 
  "elementId": 1,
  "elements": [1, 2, 3 ,4]
}

API ENDPOINT

Обновление инвентаря одного игрока [POST]

from ->
{ 
  "elementId": 1,
  "elements": [1, 2, 3 ,4]
}

(example) to ->
{ 
  "elementId": 1,
  "elements": [3, 3, 3 ,1]
}

Я хотел бы иметь возможность использовать внешнюю "модель", которая берет данные из моих API и конструирует их для меня, чтобы я мог использовать эти данные в лучшем виде. Не мог бы кто-нибудь дать мне подробную структуру файла проекта Django и некоторые возможные шаблоны проектирования кода модели Javascript?

вот мой models.py:

class User(models.Model):
    userId = models.AutoField(primary_key=True)
    username = models.CharField(max_length=16)
    email = models.EmailField(max_length=30)
    isMember = models.BooleanField(default=False)
    class meta:
        db_table = 'app_users'
        app_label = "app"
        managed = True

    def __str__(self):
        return str(self.userId)
        


class Player(models.Model):
    playerId = models.ForeignKey(User, on_delete=models.CASCADE)
    credits = models.IntegerField(default=500)
    AP = models.IntegerField(default=100)
    playerTier = models.IntegerField(default=1)
    class meta:
        db_table = 'app_players'
        app_label = "app"
        managed = True

    def __str__(self):
        return str(self.playerId)
        


class Elements(models.Model):
    elementId = models.AutoField(primary_key=True)
    name = models.CharField(max_length=20)
    elementTier = models.IntegerField(
    validators=[MinValueValidator(1), MaxValueValidator(5)])
    value = models.IntegerField()
    class meta:
        db_table = 'app_elements'
        app_label = "app"
        managed = True

    def __str__(self):
        return str(self.elementId)
        


class Inventory(models.Model):
    playerId = models.ForeignKey(Player, on_delete=models.CASCADE)
    # elementId = models.ForeignKey(Elements, on_delete=models.CASCADE)
    elements = ArrayField(models.IntegerField())
    class meta:
        db_table = 'app_inventory'
        app_label = "app"
        managed = True

    def __str__(self):
        return str(self.playerId)

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

Вернуться на верх