С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 19.03.2017
Сообщений: 16

Работа с персональными данными пользователя в Django

16.05.2017, 22:55. Показов 2959. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Только начал изучать Django, возник вопрос. Как работать с данным, персональными для каждого пользователя. Допустим есть магазин, в нем пользователи, который могут сделать заказ, потом зайти и посмотреть, что заказано. Как получить из моделей данные только по пользователю под которым авторизовались (и как эти данные правильно организовать). Есть вариант назначать, допустим, на заказ внешний ключ с User к которому заказ принадлежит. При выборке в html можно получить данные через
Python
1
user_id= User.objects.get(username=request.user.username).id
и по id отбирать записи... Это вообще правильно? Думаю, есть более разумный вариант. Как это делается в крупных проектах?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.05.2017, 22:55
Ответы с готовыми решениями:

Работа с персональными данными
как внести данные в форму авторизации в локальном приложении (мне нужно выполнить вход под аккаунтом в облако mail или яндекс)? Как...

Работа с персональными данными. Архитектура проекта. Как реализовать
Здравствуйте, друзья! Очень нужна помощь. Я начинающий разработчик, делаю курсовую. Использую php 5.0, mysql и фреймворк yii 2.0.13 Это...

Создание класса с персональными данными жителей США
Ребята помогите мне плииииз! Очень нужно! Нужно выполнить вот такие задания, вообще не соображаю никак, что и как нужно делать... ...

4
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
18.05.2017, 10:11
request.user - это уже и есть объект пользователя. Запросы к другим таблицам делаются наподобе:
Python
1
books = Books.objects.filter(user=request.user)
Поставьте модуль django-debug-toolbar (как-то так называется), в нем можно посмотреть SQL-запросы к базе.
0
145 / 113 / 31
Регистрация: 12.06.2011
Сообщений: 1,246
19.05.2017, 20:54
Цитата Сообщение от destroyer_ Посмотреть сообщение
и по id отбирать записи... Это вообще правильно? Думаю, есть более разумный вариант. Как это делается в крупных проектах?
Тут имеет место many-to-one relationships.

Дока: https://docs.djangoproject.com... ny_to_one/

Один юзер - много заказанных предметов.

user=request.user
cart = list(user.goods_set.all()) # Принудителовка, дабы ничего ленивого не осталось.

Кстати, юзер обычно может купить товар и без авторизации. Сессия хранится не только для авторизованных юзеров.
Так что корзинку он соберет и без регистрации. Если это, конечно, программист продумал.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
20.05.2017, 04:59
Цитата Сообщение от Kifsif Посмотреть сообщение
user=request.user
cart = list(user.goods_set.all()) # Принудителовка, дабы ничего ленивого не осталось.
Вот не надо так делать. Запросы специально ленивые в движке сделаны.
Python
1
cart = request.user.goods_set.all()
Это обратная связь, но использовать её не везде удобно. Проще явно написать запрос. Выполнение запросов.
0
145 / 113 / 31
Регистрация: 12.06.2011
Сообщений: 1,246
20.05.2017, 09:51
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Вот не надо так делать. Запросы специально ленивые в движке сделаны.
Ленивость - это инструмент. Любым инструментом можно ногу себе отстрелить. Я прочитал задание и решил, что пора включить принудиловку. Потому что юзер (в моей голове) уже пошел смотреть заказ. Т.е. вот в мы сейчас кинем список в шаблон - и там уже в цикле все покажем юзеру. Т.е. никаких фильтров уже накинуто не будет. Вот так я понял задачу. Без полной картины говорить о том, что не надо так делать - это о чем?

Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Это обратная связь, но использовать её не везде удобно. Проще явно написать запрос.
Почему неудобно? Если ее неудобно использовать здесь, то когда же ее использовать удобно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.05.2017, 09:51
Помогаю со студенческими работами здесь

Сертификация программного обеспечения для работы с персональными данными.
Да даже форма обратной связи на сайте, где человека просят ввести, максимум своё имя, адрес, телефон или почту. Это уже персональные...

Программа, которая будет работать с персональными данными 5 сотрудников малого предприятия
Добрый вечер! Я изучать С++ начал, дошел до массивов и попалась задача вот такого содержания: "Программа, которая будет работать с...

Программа, которая будет работать с персональными данными 5 сотрудников малого предприятия
программа, которая будет работать с персональными данными 5 сотрудников малого предприятия. Программа должна для каждого сотрудника ...

Работа с данными пользователя
Доброе время суток. И так есть задача,- пользователь регистрируется – получает доступ к функционалу сайта (такой себе калькулятор данных...

Django. Заполнение новыго поля (в базе) данными из старого
Здравствуйте. В базе есть поле Название товаров, в котором уже много записей. Затем было добавлено новое поле, в котором должны...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru