Как вывести список столбцов таблицы в массив в sqlalchemy - PullRequest
0 голосов
/ 05 мая 2018

Я новичок в sqlalchemy и пытаюсь вывести список моих столбцов в массив на python с помощью flask.

Вот мой стол:

class DeviceTable(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(120), unique=True, nullable=False)
modes = db.Column(db.String(120), unique=False, nullable=False)
MN1 = db.Column(db.String(120), unique=False, nullable=True)
MN2 = db.Column(db.String(120), unique=False, nullable=True)
MN3 = db.Column(db.String(120), unique=False, nullable=True)
MN4 = db.Column(db.String(120), unique=False, nullable=True)
MN5 = db.Column(db.String(120), unique=False, nullable=True)
MN6 = db.Column(db.String(120), unique=False, nullable=True)
MN7 = db.Column(db.String(120), unique=False, nullable=True)
MN8 = db.Column(db.String(120), unique=False, nullable=True)
MN9 = db.Column(db.String(120), unique=False, nullable=True)
MN10 = db.Column(db.String(120), unique=False, nullable=True)
B1 = db.Column(db.String(120), unique=False, nullable=True)
B2 = db.Column(db.String(120), unique=False, nullable=True)
B3 = db.Column(db.String(120), unique=False, nullable=True)
B4 = db.Column(db.String(120), unique=False, nullable=True)
B5 = db.Column(db.String(120), unique=False, nullable=True)
B6 = db.Column(db.String(120), unique=False, nullable=True)
B7 = db.Column(db.String(120), unique=False, nullable=True)
B8 = db.Column(db.String(120), unique=False, nullable=True)
B9 = db.Column(db.String(120), unique=False, nullable=True)
B10 = db.Column(db.String(120), unique=False, nullable=True)

Я хочу вывести все объекты name в массив, чтобы использовать его для заполнения списка.

1 Ответ

0 голосов
/ 05 мая 2018

Этот минимальный учебник по SQL-алхимии будет полезен

Я предполагаю, что ваше приложение работает без ошибок и импортировало все соответствующие библиотеки. Затем вы можете запросить все объекты (объект содержит все атрибуты в вашей таблице), затем выполнить итерацию по объектам и добавить атрибут имени каждого из них в список

device_names = [] # i initialize a list
all_devices = DeviceTable.query.all() #query all devices
for device in all_devices:
    device_names.append(device.name) #iterate through all the devices and add the name attribute to the list

Теперь список device_names содержит все имена устройств в вашей таблице. На предоставленной мной ссылке вы увидите, как можно отфильтровать результаты, используя любое из полей

Я верю, что это то, что вы ищете

...