Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 26.06.2019
Сообщений: 149

Хранение набора значений

08.02.2024, 17:51. Показов 610. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я разрабатываю небольшое приложение для изучения языков в котором люди могу по видеосвязи общаться и учить язык. У пользователя будет что-то типа ленты где на основе его предпочтений буду появляться случайные люди.
Предпочтения могут быть списком языков которые человек хочет изучать, например это может быть список из: английского, немецкого и японского. Я не могу придумать как привязать к пользователю набор этих предпочтений через модель django.
Есть следующие идеи:
1. Хранить в виде строки которая будет содержать id языков.
2. Использовать что-то типа системы тегов.
3. Создать отдельные модели для каждого языка.
Но почему-то у меня ощущение что есть что-то лучше.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.02.2024, 17:51
Ответы с готовыми решениями:

Хранение выбранного набора данных
БД по модели ModelFerst. Суть. БД про компанию, её отделы и сотрудников. Я создал таблицу отдела. Но у каждого отдела есть свои...

Хранение набора результатов запроса на стороне клиента
Как правильно реализовать сабж? В ADODB у RecordSet было свойство CursorLocation, задав которому соответствующее значение можно было...

Организовать хранение набора данных с помощью массива структур
Организовать хранение набора данных с помощью массива структур. Написать метод для заполнения массива данными. Написать метод для...

2
57 / 15 / 6
Регистрация: 08.08.2020
Сообщений: 266
10.02.2024, 21:52
Через теги наверное всё-таки. Этот инструмент можно использовать django-taggit
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
11.02.2024, 15:49
Цитата Сообщение от Araders Посмотреть сообщение
Есть следующие идеи:
1. Хранить в виде строки которая будет содержать id языков.
2. Использовать что-то типа системы тегов.
3. Создать отдельные модели для каждого языка.
1) нет
2) почти
3) нет

Связь Many-to-Many. Как-то так:

Python
1
2
3
4
5
6
class Lang(models.Model):
    #…
 
class User(models.Model):
    # …
    langs = models.ManyToManyField(Lang)
В СУБД будет три таблицы.

Добавлено через 3 минуты
Python
1
2
3
4
5
6
7
8
9
10
11
12
class Lang(models.Model):
    #…
 
class User(models.Model):
    # …
    # Можно явно прописать третью таблицу
    langs = models.ManyToManyField(Lang, through='Tag')
 
class Tag(models.Model):
    student = models.ForeignKey(Lang, on_delete=models.CASCADE)
    course = models.ForeignKey(User, on_delete=models.CASCADE)
    # дополнительные поля
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.02.2024, 15:49
Помогаю со студенческими работами здесь

Работа со строками фиксированной длины (хранение набора чисел и их извлечение)
Нужно организовать как можно более быстрым образом две вещи: 1. Составление строки, содержащей 4 двузначных числа (значения могут быть от...

Как сложить два набора дискретных значений для вычисления средних значений
Добрый день. Возникла проблема, надо сложить два набора дискретных значений для вычисления средних значений но никак не хочется переводить...

Хранение значений
Здравствуйте, в c# новичок, подскажите пожалуйста. Мне нужно хранить значения переменных которые я ввел в программе. Как организовать их...

Хранение значений
как можно реализовать хранение значений, к примеру в игре змейка/сапер хранятся топ-10 рез-ов, как реализовать подобное? никаких идей...

Суммирование значений из набора данных
Доброго времени суток, Подскажите, пожалуйста, как можно суммировать значения из набора данных? В последствии сумму необходимо будет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru