Запрос пустых полей с помощью Pyorient OGM
Я пытаюсь использовать OGM из pyorient для сопоставления записей, которые имеют пустые значения в некоторых из своих полей.
Мне удалось заставить большинство вещей работать, просматривая модульные тесты на GitHub, но я не смог найти там ни примеров, ни документов. Я также не мог видеть никаких проблем на GitHub, поэтому я думаю, что я просто подхожу к нему неправильно.
версия pyOrient: 1.5.5
версия Python: 3.6.3
Версия OrientDB: 2.2.31
Ниже я поставил точку в конце, чтобы выделить проблему, которая связана с последним запросом.
from pyorient.ogm import Graph, Config, declarative
from pyorient.ogm.property import (String, Integer)
ogm_config = Config.from_url("localhost/ogm_test", "root", "root", initial_drop = True)
g = Graph(ogm_config)
Node = declarative.declarative_node()
class table_a(Node):
element_plural = 'table_a'
column_1 = String()
column_2 = Integer()
g.create_all(Node.registry)
db_data = [
{"column_1":"Test 1", "column_2" : 1},
{"column_1":"Test 1"},
{"column_1":"Test 2", "column_2" : 1},
{"column_1":"Test 2", "column_2" : None},
]
for data in db_data:
res = g.table_a.create(**data)
query_res = g.table_a.query(**db_data[0]).all()
print(len(query_res)) # expected 1 got 1 i.e. (db_data[0])
query_res = g.table_a.query(**db_data[1]).all()
print(len(query_res)) # expected 2 got 2 i.e. (db_data[0] and db_data[1])
query_res = g.table_a.query(**db_data[2]).all()
print(len(query_res)) # expected 1 got 1 i.e. (db_data[2])
query_res = g.table_a.query(**db_data[3]).all()
print(len(query_res)) # expected 1 got 0 ??????? I expected db_data[3]
Большое спасибо,
Грэхем
1 ответ
Кажется, является дефектом, согласно моему комментарию. Подняли вопрос на GitHub.
Проблема № 262: OGM: NULL поля не запрошены правильно