Форум программистов, компьютерный форум, киберфорум
Python: Flask
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
27 / 27 / 14
Регистрация: 28.03.2011
Сообщений: 94

Flask-sqlalchemy many-to-many relationship

18.08.2015, 11:30. Показов 5157. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется 3 таблицы: User, Phone, Subdivision и связующая таблица us_ph_sub. Все они связаны many-to-many отношениями.

User:
id surname name patronymic info

Phone:
id number

Subdivision:
id unit

Связующая таблица
us_ph_sub:
user_id phone_id subdivision_id

В моделях примерно следующее (models.py):
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from app import db
 
 
us_ph_sub = db.Table('us_ph_sub',                             
  db.Column('user_id', db.Integer,db.ForeignKey("user.id"), nullable=False),
  db.Column('phone_id', db.Integer,db.ForeignKey("phone.id"), nullable=False),
  db.Column('subdivision_id', db.Integer,db.ForeignKey("subdivision.id"), nullable=False)
  )
                                      
                                      
class User(db.Model):
  id = db.Column(db.Integer, primary_key = True)
  surname = db.Column(db.String(64), index = True)
  name = db.Column(db.String(64), index = True)
  patronymic = db.Column(db.String(64), index = True)
  info = db.Column(db.String(1024))
 
  def __repr__(self):
    return '<User %r %r>' % (self.surname, self.name)
        
 
class Phone(db.Model):
  id = db.Column(db.Integer, primary_key = True)
  number = db.Column(db.Integer, unique = True, nullable=False)
 
  def __repr__(self):
    return '<Number %r>' % (self.number)
 
 
class Subdivision(db.Model):
  id = db.Column(db.Integer, primary_key = True)
  unit = db.Column(db.String(128), unique = True, nullable=False)
  
  def __repr__(self):
    return '<Unit %r>' % (self.unit)
Если кто знает как правильно связать эти таблицы, напишите пожалуйста. Выборки в итоге должны получаться:
1) по подразделениям (Subdivision)
2) по телефону (Phone)
3) по имени, или фамилии, или отчеству
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.08.2015, 11:30
Ответы с готовыми решениями:

Flask & SQLALCHEMY (приостановить приложение)
Добрый день. подскажите пожалуйста хочу как то останавливать все приложение или точнее выводить пользователям сообщение если нет связи с...

Python sqlalchemy отфильтровать записи в relationship
Есть две таблицы Group и User. Юзеры могут находится в нескольких группах одновременно. user_has_group =...

Sqlalchemy.exc.ArgumentError: Error creating backref on relationship property of that name exists on mapper
Всем привет. Столкнулся с такой проблемой. Мне надо реализовать отношение многие-ко-многим в рамках одной таблицы. Используется...

2
0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 16
26.02.2021, 06:28
Привет! Получилось ли у тебя связать эти таблицы? Заранее спасибо!
0
26.02.2021, 07:22

Не по теме:

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.02.2021, 07:22
Помогаю со студенческими работами здесь

Flask-SQLAlchemy One to Many
Есть 2 модели: class Citizen(db.Model): import_id = db.Column(db.Integer, db.ForeignKey(&quot;import.import_id&quot;), primary_key=True) ...

Как создать БД посредством SqlAlchemy во Flask
Добрый день. так и не могу создать бд посредством SqlAlchemy :\ ошибка raise RuntimeError('application not registered on db ' ...

Flask SQLAlchemy - поиск в таблице по бинарному ключу
Привет. Помогите разобраться. у меня есть вот такой класс class Kated(db.Model): __tablename__ = 'T$KATED' nrec...

Нужен программист Django или Python / Flask / SqlAlchemy
Команда разработчиков школы программистов, г. Москва, м. Медведково и г. Мытищи МО, приглашает программистов со знанием и опытом работы в...

Flask-sqlalchemy автобновление количества в модели или может в админке
Здравствуйте, такой вот вопрос, можно ли в моделях (возможно с спомощью параметра onupdate) или в админке там где вьюху пишем - сделать...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru