@@ -63,17 +63,19 @@ async def select_custom_fields(
63
63
cls ,
64
64
fields : List [str ],
65
65
wheres : Union [str , Q , Dict [str , Any ], List [Q ]],
66
+ index : Optional [str ] = None ,
66
67
groups : Optional [List [str ]] = None ,
67
68
having : Optional [str ] = None ,
68
69
orders : Optional [List [str ]] = None ,
69
70
offset : Optional [int ] = None ,
70
- limit : int = 0 ,
71
+ limit : Optional [ int ] = None ,
71
72
conn : Optional [BaseDBAsyncClient ] = None ,
72
73
):
73
74
sql = SQLizer .select_custom_fields (
74
75
cls .table ,
75
76
fields ,
76
77
wheres ,
78
+ index ,
77
79
groups ,
78
80
having ,
79
81
orders ,
@@ -84,6 +86,32 @@ async def select_custom_fields(
84
86
conn = conn or cls .ro_conn
85
87
return await CursorHandler .fetch_dicts (sql , conn , logger )
86
88
89
+ @classmethod
90
+ async def select_one_record (
91
+ cls ,
92
+ fields : List [str ],
93
+ wheres : Union [str , Q , Dict [str , Any ], List [Q ]],
94
+ index : Optional [str ] = None ,
95
+ groups : Optional [List [str ]] = None ,
96
+ having : Optional [str ] = None ,
97
+ orders : Optional [List [str ]] = None ,
98
+ conn : Optional [BaseDBAsyncClient ] = None ,
99
+ ):
100
+ sql = SQLizer .select_custom_fields (
101
+ cls .table ,
102
+ fields ,
103
+ wheres ,
104
+ index ,
105
+ groups ,
106
+ having ,
107
+ orders ,
108
+ 0 ,
109
+ 1 ,
110
+ cls .model ,
111
+ )
112
+ conn = conn or cls .ro_conn
113
+ return await CursorHandler .fetch_one (sql , conn , logger )
114
+
87
115
@classmethod
88
116
async def update_json_field (
89
117
cls ,
0 commit comments