File tree Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -257,3 +257,22 @@ def get_label(self, flag):
257257 Database .extensions .register_adapter (BitHandler , lambda x : Database .extensions .AsIs (int (x )))
258258except ImproperlyConfigured :
259259 pass
260+
261+ # psycopg3 adapter registration: register a dumper that
262+ # encodes Bit/BitHandler as BIGINT so parameters are typed correctly.
263+ try :
264+ from psycopg import adapters
265+ from psycopg .adapt import Dumper
266+ except Exception :
267+ pass
268+ else :
269+
270+ class _BitLikeDumper (Dumper ):
271+ # OID 20 is int8 (BIGINT) in PostgreSQL, matching Django's BigIntegerField
272+ oid = 20
273+
274+ def dump (self , obj ):
275+ return str (int (obj )).encode ()
276+
277+ adapters .register_dumper (Bit , _BitLikeDumper )
278+ adapters .register_dumper (BitHandler , _BitLikeDumper )
You can’t perform that action at this time.
0 commit comments