Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

`rx.Model` event arguments emit `PydanticDeprecatedSince20` once per payload key

Aperta Adatta ai principianti
#7,634 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

@fixfon ci sta già lavorando.

Dal 22/10/2026.

  • #7636 di @fixfon — aperta

Valutazione

Difficoltà
1/5
Tempo stimato
Meno di un'ora
Idoneità per principianti
88/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
python
Ambito
backend, testing

Direzione di ricerca

Inizia da packages/reflex-base/src/reflex_base/event/processor/base_state_processor.py:141 e leggi _transform_event_arg, poi esegui la riproduzione nell’issue per confermare gli avvisi. Usa una sola volta le chiavi dei campi del modello quando filtri il payload. Il lavoro è terminato quando la stessa trasformazione non emette avvisi PydanticDeprecatedSince20.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Describe the bug
An event handler argument can have an rx.Model type hint. When the payload is a dict, _transform_event_arg removes the keys that are not model fields. It checks each key with hinted_args.__fields__. Pydantic v2 deprecates __fields__, so each key emits one PydanticDeprecatedSince20 warning, on every event.

Code: packages/reflex-base/src/reflex_base/event/processor/base_state_processor.py:141

if key in hinted_args.__fields__

To Reproduce

import warnings

import reflex as rx
from reflex_base.event.processor.base_state_processor import _transform_event_arg


class Tbl(rx.Model, table=True):
    name: str


with warnings.catch_warnings(record=True) as caught:
    warnings.simplefilter("always")
    _transform_event_arg({"name": "a", "extra": 1, "other": 2}, Tbl)

for w in caught:
    print(w.category.__name__, w.filename.split("src/")[-1], w.lineno)

Output on main (7f89e48c3):

PydanticDeprecatedSince20 reflex_base/event/processor/base_state_processor.py 141
PydanticDeprecatedSince20 reflex_base/event/processor/base_state_processor.py 141
PydanticDeprecatedSince20 reflex_base/event/processor/base_state_processor.py 141

Expected behavior
No deprecation warning. rx.Model is a SQLModel, which is Pydantic v2, so hinted_args.model_fields gives the same keys. Read it once, not once per key.

rx.Model is deprecated, so this only matters until it is removed. The fix is one line.

Specifics

  • Python 3.14.6, pydantic 2.13.5, reflex main (7f89e48c3)
  • Related: #7561 and #7592 fix the same warning in reflex_base/utils/types.py.
Lingua principale
Python
Stelle
29k
Fork
1.8k
Merge medio
3g 7h
PR unite (30g)
181

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di reflex-dev/reflex

Tutte le issue di reflex-dev/reflex

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.