Как реализовать такую структуру данных?

Для реализации структуры данных в Django можно использовать модели. Модели - это классы, которые определяют структуру таблиц в базе данных. Каждый атрибут класса модели представляет собой поле таблицы, а каждый экземпляр класса модели - запись в таблице.

Существует несколько типов полей, которые можно использовать при создании модели в Django. Например, поле CharField используется для хранения строковых значений, поле IntegerField - для хранения целых чисел, поле ForeignKey - для хранения связей между разными моделями и т.д. Если вам необходимо создать свои собственные типы полей, вы можете создать их, наследуясь от базовых типов полей Django.

Вот пример реализации структуры данных в Django с использованием моделей:

from django.db import models

class Category(models.Model):
    name = models.CharField(max_length=100)

    def __str__(self):
        return self.name

class Product(models.Model):
    name = models.CharField(max_length=100)
    category = models.ForeignKey(Category, on_delete=models.CASCADE)

    def __str__(self):
        return self.name

В данном примере мы создаем две модели - Category (категория) и Product (продукт). Категория имеет одно поле name, являющееся строковым типом данных. Продукт также имеет поле name, а также поле category, которое является внешним ключом, указывающим на категорию продукта. Обратите внимание, что параметр on_delete=models.CASCADE указывает, что при удалении категории, все продукты этой категории также будут удалены.

Чтобы использовать созданные модели, нужно сначала выполнить миграции, создав соответствующие таблицы в базе данных. Для этого необходимо выполнить следующие команды в терминале:

python manage.py makemigrations
python manage.py migrate

После этого вы сможете работать с созданными моделями, создавая, изменяя, удаляя и получая данные из базы данных. Например, вы можете создать новую категорию следующим образом:

category = Category(name='Electronics')
category.save()

А затем создать новый продукт и связать его с созданной категорией:

product = Product(name='Laptop', category=category)
product.save()

Теперь вы можете получить список всех продуктов и категорий следующим образом:

products = Product.objects.all()
categories = Category.objects.all()

for product in products:
    print(product.name)

for category in categories:
    print(category.name)

Таким образом, реализация структуры данных в Django с использованием моделей позволяет легко работать с данными в базе данных и легко выполнять операции создания, изменения, удаления и получения данных.