Как извлечь одно поле из поиска Tiny DB - PullRequest
0 голосов
/ 09 декабря 2018

Я заполняю свою базу данных, затем делаю поиск, я могу напечатать результаты, но я хочу извлечь поля для заполнения меток или записей, как я могу это сделать?Это мой код

from tinydb import TinyDB, Query, where

db = TinyDB('rubrica.json')
def populate():
    Item1 = {'NAME': 'John', 'SURNAME': 'SMITH', 'PHONE': '1234'}
    Item2 = {'NAME': 'Bob', 'SURNAME': 'DEAN', 'PHONE': '5678'}
    Item3 = {'NAME': 'Jack', 'SURNAME': 'DEAN', 'PHONE': '9157'}

    db.insert(Item1)
    db.insert(Item2)
    db.insert(Item3)

def readall():
    for item in db:
        print(item)

def printsearch():
    results =db.search(where('SURNAME') == 'DEAN')
    print(*results, sep='\n')

printsearch()

Ответы [ 2 ]

0 голосов
/ 09 декабря 2018

Очень хорошее предложение, я решил:

def getFieldData(fieldName):
    results = db.search(where('SURNAME') == 'DEAN')
    result = [r[fieldName] for r in results]
    return result
res = getFieldData('NAME')
for name in res:
    print(name)
0 голосов
/ 09 декабря 2018

Вы можете получить список любого поля, подобного этому

def getFieldData(fieldName):
    result = [r[fieldName] for r in db]
    return result

print(getFieldData('NAME'))
print(getFieldData('SURNAME'))
...