@MercRank

Как сохранить список в поле модели?

Пишу в кач-ве тренировки простой сайт на Джанго, который показывает погоду. И решил чуть расширить функционал и добавить аутентификацию и личный кабинет пользователя, где он может выбрать список любимых городов. Чтобы в последующем из них можно было выбирать как из выпадающего списка, когда пользователь авторизован на сайте. Соответственно мне нужна модель которая будет хранить список городов для каждого юзера. Два вопроса.

1. Как правильно сохранить список в поле модели?
2. В двух словах как реализовать функционал, чтобы пользователь мог добавить новый город в этот список в своем личном кабинете. Примерно так: зашёл, увидел список текущих городов, нажал добавить, вписал название, добавил.
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
@bacon
Для этого надо знать основы реляционных базы данных, отдельно модель юзер, модель город и связь между ними, это можно сделать как через ManyToManyField, так и отдельной моделью
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@kurrbanov
Пишу бэкенд на Питоне
Отвечая на второй пункт:
- "Сайт, который показывает погоду"
- "зашёл, увидел список текущих городов, нажал добавить, вписал название, добавил."
А если он добавит город, который не существует, то как тогда быть?

Вообще для этой задачи нужна будет модель с городами, которые уже не пользователь должен добавлять, а администратор сайта/либо напрямую в через INSERT. От чего и вопросы на счёт такой реализации.

И отвечая на первый пункт:
Для списка любимых городов нужно будет создать связь многие ко многим между городом и пользователем.
Здесь есть два варианта:
1. Использовать ManyToMany в Django (https://docs.djangoproject.com/en/4.0/topics/db/ex...)
2. Создать смежную таблицу, между двумя таблицами
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы