MagicStack / MagicStack/asyncpg

Add equivalent to psycopg2 `register_adapter`

Offen
#1,186 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
8.1k
Forks
468
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

In psycopg2, `register_adapter` along with utility functions provides a useful way to map custom Python classes into valid representations, often by relatively simple behaviors such as casting to `str`. There is no equivalent in asyncpg meaning moving from psycopg2 to asyncpg requires adding lots of `str()` casts to add and select queries.

The closest equivalent is `set_type_codec` but this only works for types that are registered with Postgres, not custom Python classes.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Überprüfung der bestehenden Unterstützung von asyncpg für set_type_codec und des Verhaltens von psycopg2 bei register_adapter. Ermittle, wie benutzerdefinierte Python-Klassen für Abfrageparameter dargestellt werden sollten, ohne PostgreSQL-Typen zu erfordern, und definiere den Abschluss anhand eines gleichwertigen Verhaltens beim Hinzufügen und Auswählen ohne manuelle str()-Casts.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
postgresql, python
Bereich
databases
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.