@@ -43,6 +43,7 @@ class Order(BaseHashModel):
43
43
created_on : datetime .datetime
44
44
45
45
class Member (BaseHashModel ):
46
+ id : int = Field (index = True )
46
47
first_name : str = Field (index = True )
47
48
last_name : str = Field (index = True )
48
49
email : str = Field (index = True )
@@ -64,6 +65,7 @@ class Meta:
64
65
@pytest_asyncio .fixture
65
66
async def members (m ):
66
67
member1 = m .Member (
68
+ id = 0 ,
67
69
first_name = "Andrew" ,
68
70
last_name = "Brookins" ,
69
71
@@ -73,6 +75,7 @@ async def members(m):
73
75
)
74
76
75
77
member2 = m .Member (
78
+ id = 1 ,
76
79
first_name = "Kim" ,
77
80
last_name = "Brookins" ,
78
81
@@ -82,6 +85,7 @@ async def members(m):
82
85
)
83
86
84
87
member3 = m .Member (
88
+ id = 2 ,
85
89
first_name = "Andrew" ,
86
90
last_name = "Smith" ,
87
91
@@ -129,6 +133,9 @@ async def test_exact_match_queries(members, m):
129
133
).all ()
130
134
assert actual == [member2 ]
131
135
136
+ actual = await m .Member .find (m .Member .id == 0 ).all ()
137
+ assert actual == [member1 ]
138
+
132
139
133
140
@py_test_mark_asyncio
134
141
async def test_full_text_search_queries (members , m ):
@@ -219,7 +226,6 @@ async def test_tag_queries_negation(members, m):
219
226
┌first_name
220
227
NOT EQ┤
221
228
└Andrew
222
-
223
229
"""
224
230
query = m .Member .find (~ (m .Member .first_name == "Andrew" ))
225
231
assert await query .all () == [member2 ]
@@ -232,7 +238,6 @@ async def test_tag_queries_negation(members, m):
232
238
| ┌last_name
233
239
└EQ┤
234
240
└Brookins
235
-
236
241
"""
237
242
query = m .Member .find (
238
243
~ (m .Member .first_name == "Andrew" ) & (m .Member .last_name == "Brookins" )
@@ -611,4 +616,4 @@ class Address(m.BaseHashModel):
611
616
assert (
612
617
Address .redisearch_schema ()
613
618
== f"ON HASH PREFIX 1 { key_prefix } SCHEMA pk TAG SEPARATOR | a_string TAG SEPARATOR | a_full_text_string TAG SEPARATOR | a_full_text_string AS a_full_text_string_fts TEXT an_integer NUMERIC SORTABLE a_float NUMERIC"
614
- )
619
+ )
0 commit comments