Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WARNING] 'dynamic' loaders cannot be used with many-to-one/one-to-one relationships and/or uselist=False #115

Open
freerafiki opened this issue Aug 20, 2021 · 0 comments
Labels
enhancement New feature or request

Comments

@freerafiki
Copy link
Member

Sqlalchemy throws the warning:

...python3.9/site-packages/sqlalchemy/orm/dynamic.py:44: SAWarning: On relationship Neighborhood.locations, 'dynamic' loaders cannot be used with many-to-one/one-to-one relationships and/or uselist=False.  This warning will be an exception in a future release.

Il problema è che nella ricerca (lib_search.py alla riga 453 per esempio, spero il link rimanga nei prossimi commit usiamo la relazione per arrivare a location dal sestiere.
Per esempio, nella riga 453:

with_num=actual_location.locations.join(Location.address, aliased=True).filter_by(housenumber=number).first()

actual_location è il sestiere, actual_location.locations sono tutte le location nel sestiere, e vogliamo filtrarle per indirizzo. Dobbiamo aggiungere il join a Location.address perchè ora gli indirizzi sono nella tabella Address (corretto) e filtrare. Ma quel actual_location.locations è possibile grazie al lazy='dynamic' nella definizione della tabella Neighborhood in models.py, che va in conflitto con il many-to-one o la uselist, che sono le cose nuove che avevamo introdotto (ma servono in effetti), quindi va capito un attimo come gestirlo, lo scrivo qua così ce l'abbiamo sotto controllo e possiamo dimenticarlo tranquillamente :)

@freerafiki freerafiki added the enhancement New feature or request label Aug 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant