The only thing I see that ties us to sqlalchemy is using the model objects directly. But I think there are actually three choices here: sqlalchemy objects, dicts, and regular objects. Well really there are four, if we include sqlalchemy objects that try to act like dicts :-). My preference order is:
1. regular objects (which is what I thought Kevin was talking about. . . maybe?) 2. regular dicts 3. a tie between sqlalchemy objects and sqlalchemy objects that try to behave like dicts "Devin Carlen" <[email protected]> said: > Matt, that answer is simple: so we can use things other than sqlalchemy. > > > > On Dec 15, 2011, at 10:35 AM, Matt Dietz wrote: > >> I have to confess to being confused here. We deliberately chose >> sqlalchemy. Then we mapped everything away so it didn't look like the ORM >> in question when in reality, we partially took some of said ORM's job away >> from it. Now we're complaining that the ORM we likely aren't using >> correctly isn't working for us. In short, we chose to use an ORM, and now >> we're complaining about the O >> >> I'm not seeing what taking everything to a dictionary-centric model buys >> us, and I also don't see anyone actually justifying it. Can we get some >> actual examples of why one approach is better than the other? >> >> >> On 12/15/11 10:54 AM, "Johannes Erdfelt" <[email protected]> wrote: >> >>> On Thu, Dec 15, 2011, Kevin L. Mitchell <[email protected]> >>> wrote: >>>> 2. However, I violently disagree with the idea that the DB layer >>>> must return dicts. It does not, even if you start talking about >>>> allowing use of other kinds of databases. We can, and should, >>>> wrap these things in objects, upon which we can call methods >>>> that do thingsā¹i.e., we should, you know, actually use >>>> object-oriented programming. >>> >>> What kinds of things? >>> >>> I'm not against returning back a standardized object that provides >>> __getattr__ so we don't have to use dict notation. Any database backend >>> can do something similar easily. >>> >>> I'm just trying to better understand what is object-oriented about the >>> data returned from a database? What methods would we want to use? >>> >>> JE >>> >>> >>> _______________________________________________ >>> Mailing list: https://launchpad.net/~openstack >>> Post to : [email protected] >>> Unsubscribe : https://launchpad.net/~openstack >>> More help : https://help.launchpad.net/ListHelp >> >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~openstack >> Post to : [email protected] >> Unsubscribe : https://launchpad.net/~openstack >> More help : https://help.launchpad.net/ListHelp > > > _______________________________________________ > Mailing list: https://launchpad.net/~openstack > Post to : [email protected] > Unsubscribe : https://launchpad.net/~openstack > More help : https://help.launchpad.net/ListHelp > _______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : [email protected] Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp

