|
5 / 5 / 0
Регистрация: 25.09.2017
Сообщений: 569
|
|||||||||||
Особенности ограниченности SQLAlchemy по проверке внешних ключей27.11.2023, 17:26. Показов 1417. Ответов 4
Метки нет (Все метки)
Есть таблица Info в которой есть три связанных между собой внешних ключа (city_id, substate_id, country_id) <-> (City, Substate, Country), и бывают ситуации, когда необязательно чтобы все эти внешние ключи были заполнены. Но для таблицы Info требуется проверить, чтобы внешний ключ city_id, ссылающийся на город info.city_id = city.id соответствовал тому, что и значение внешнего ключа такого города city.substate_id было таким же как и значение внешнего ключа, ссылающийся на регион info.substate_id = substate.id при операции записи.
FastApi вообще ничего не предоставляет из коробки. Какой-то казуальный фреймвёрк, если его можно так назвать. Как вот данные проверять, если такие ситуации возникают. В валидаторах на основе моделей pydantic нет доступа ко всем данным, поступающим из запроса. Это просто типизация данных, но можно сказать, расширенная проверка значения, но в пределах одного параметра (поля). А как быть, если данные связаны между собой и одно из полей требуется заполнить в зависимости от значения другого. В DRF это всё реализовывается в сериализаторах.
0
|
|||||||||||
| 27.11.2023, 17:26 | |
|
Ответы с готовыми решениями:
4
Создание внешних ключей Ошибки внешних ключей Создание внешних ключей |
|
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,306
|
||
| 28.11.2023, 10:46 | ||
|
1
|
||
|
5 / 5 / 0
Регистрация: 25.09.2017
Сообщений: 569
|
|||||||||||
| 29.11.2023, 05:54 [ТС] | |||||||||||
|
Не знаю, что здесь теперь "не нравится":
Делаю по документации https://docs.sqlalchemy.org/en... ny-to-many, но у меня просто таблица ссылается на саму себя. Код из примера по ссылке выше:
Original exception was: Foreign key associated with column 'Friends.profile_id' could not find table 'Profile' with which to generate a foreign key to target column 'id' Но если даже задавать ассоциативную таблицу после таблицы, на которую ссылается, то потеряет имя ассоциативной таблицы: When initializing mapper mapped class Profile->Profile, expression 'Friends' failed to locate a name ("name 'Friends' is not defined"). If this is a class name, consider adding this relationship() to the <class 'app.db.Profile'> class after both dependent classes have been defined
0
|
|||||||||||
|
5 / 5 / 0
Регистрация: 25.09.2017
Сообщений: 569
|
||||||
| 29.11.2023, 14:46 [ТС] | ||||||
|
Избавился от ассоциативной таблицы, реализовал ассоциативный объект:
0
|
||||||
|
5 / 5 / 0
Регистрация: 25.09.2017
Сообщений: 569
|
|||||||||||
| 01.12.2023, 23:36 [ТС] | |||||||||||
|
Ссылаясь опять же на пример из официальной документации
Я так не могу запросить объекты?:
0
|
|||||||||||
| 01.12.2023, 23:36 | |
|
Помогаю со студенческими работами здесь
5
Список внешних ключей Создание внешних ключей Добавление внешних ключей Создание внешних ключей
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3.
Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|