簡體   English   中英

使用pyorient OGM查詢空字段

[英]querying null fields using pyorient OGM

我正在嘗試使用來自pyorient的OGM來匹配在某些字段中具有空值的記錄。

通過查看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]

非常感謝,

格雷厄姆

根據我的評論,這似乎是一個缺陷。 在GitHub上提出了一個問題。

問題#262:OGM:未正確查詢NULL字段

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM