Отобразить только определенные части класса в базу данных с помощью SQLAlchemy? - PullRequest
1 голос
/ 25 марта 2010

При отображении объекта с использованием SQLAlchemy, есть ли способ отобразить только определенные элементы класса в базу данных, или это должно быть отображение 1: 1?

Пример:

class User(object):
    def __init__(self, name, username, password, year_of_birth):
        self.name = name
        self.username = username
        self.password = password
        self.year_of_birth = year_of_birth

Скажем, по какой-то причине я хочу только сопоставить name, username и password с базой данных и пропустить year_of_birth. Возможно ли это и создаст ли это проблемы?

Edit - 25/03/2010

Дополнительно, скажем, я хочу сопоставить username и year_of_birth с отдельной базой данных. Будет ли эта база данных и предыдущая все еще подключена (через username)?

1 Ответ

2 голосов
/ 26 марта 2010

Ваш картограф может указать, какие столбцы отображать, вы даже можете сопоставить одну таблицу с несколькими объектами и несколько таблиц с одним объектом.

Вот документация для отображения одного объекта несколько раз: http://www.sqlalchemy.org/docs/05/mappers.html#multiple-mappers-for-one-class

То, что вы хотите, это настроить, какие столбцы отображать / не отображать. Это можно сделать, настроив свойства столбца. Документы: http://www.sqlalchemy.org/docs/05/mappers.html#customizing-column-properties

Пример:

mapper(User, users_table, include_properties=['user_id', 'user_name'])

mapper(Address, addresses_table, exclude_properties=['street', 'city', 'state', 'zip'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...