By ORM I ment Object-relational mapping.With other words, I want to be able to access a MySQL, Oracle, PostgreSQL or even SQLite database with objects, without needing to write SQL code at all.
I think it would be more simple to do something like: db = TheORMName.connect("mysql", "databaseName", "user", "password") recordset = db.table("testTable").search(id=123) print(recordset.first.age) recordset.update(name="My Name", age=55)or putting the name of the dictionary in place of those fields, than composing an SQL query based on different conditions.
I hope to find an ORM that can work with primary keys made of multiple columns, that can do table joins and allow using operators like "like" and other simple features like these...
Octavian----- Original Message ----- From: "Ken Perry" <whistler@xxxxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx> Sent: Saturday, December 20, 2008 3:36 AM Subject: RE: python question
Well since ORM has all these following meanings ORM is an acronym for: Object role modeling Object-relational mapping Operational Risk Management a U.S. Navy concept for safety in operations planning Online research methods Orosomucoid Outsourcing Relationship Management Online Reputation Management ORM is also: the IATA airport code for Sywell Aerodrome in Northamptonshire, EnglandI am not sure exactly what you want. I mean you mentioned a lot of databasemapping libraries so I am hoping that is what you are looking for. We usesqlite3 for our db only because it has some easy ways to just request wholetables into dictionaries in python. I am not sure if you would consider doing sql requests and having it auto port it into a dictionary an ORM but to each their own. Ken -----Original Message----- From: programmingblind-bounce@xxxxxxxxxxxxx[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Octavian RasnitaSent: Friday, December 19, 2008 5:01 PM To: programmingblind@xxxxxxxxxxxxx Subject: Re: python questionHmm, is there an ORM for python that has the same name as the SQLite commandline client? Octavian----- Original Message ----- From: "Ken Perry" <whistler@xxxxxxxxxxxxx>To: <programmingblind@xxxxxxxxxxxxx> Sent: Friday, December 19, 2008 10:58 PM Subject: RE: python questionWe use sqlite3 Ken -----Original Message----- From: programmingblind-bounce@xxxxxxxxxxxxx [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Jim Dunleavy Sent: Friday, December 19, 2008 4:59 AM To: programmingblind@xxxxxxxxxxxxx Subject: Re: python question Hi, SQLAlchemy seems to have the most features. It's the default ORM for the TurboGears framework. --Jim ----- Original Message ----- From: Octavian Rasnita <orasnita@xxxxxxxxx> To: <programmingblind@xxxxxxxxxxxxx> Sent: Thursday, December 18, 2008 11:50 AM Subject: Re: python questionOk, thanks. Even though it requires a few more keywords, at least it doesn't require quoting the keys of the dictionary. I am searching for information about a good ORM in python, but what Ifoundso far wasn't too impressive. Does anyone know a really good ORM in python like DBIx::Class or Rose::DB::Object in perl? I found that for python there are more ORMS like: SQLObject, Axiom, Bazaar ORM, DbObj, Dejavu, forgetSQL, MiddleKit, Modeling Object-RelationalBridge,Object Relational Membrame, PyDo, SQLAlchemy, Storm... which of them doyouthink it is the best? Thanks. Octavian ----- Original Message ----- From: "Jamal Mazrui" <empower@xxxxxxxxx> To: <programmingblind@xxxxxxxxxxxxx> Sent: Thursday, December 18, 2008 12:45 AM Subject: Re: python question > Here is a Python 3 version. > Jamal > > d = dict(John = 40, Michael = 40, Joe = 30) > l = sorted(d.keys(), reverse = True) > l = sorted(l, key = lambda k: d[k]) > for k in l: print(k + ', ' + str(d[k])) > > > On Wed, 17 Dec 2008, Octavian > Rasnita wrote: > >> Date: Wed, 17 Dec 2008 22:52:20 +0200 >> From: Octavian Rasnita <orasnita@xxxxxxxxx> >> Reply-To: programmingblind@xxxxxxxxxxxxx >> To: programmingblind@xxxxxxxxxxxxx >> Subject: Re: python question >> >> Thank you for your answer, but I couldn't run it with python 3. >> >> I have re-formatted the print statement which in python 3 is afunction,>> but >> I don't know how to solve the other error that appeared. >> >> The code is: >> >> hash = {'John': 40, 'Michael': 40, 'Joe': 30} >> keys = sorted(hash.keys(), reverse = True) >> keys = sorted(keys, lambda x, y: cmp(hash[x], hash[y])) >> for key in keys: print(key + ', ' + str(hash[key])) >> >> And the error is: >> >> Traceback (most recent call last): >> File "srt.py", line 3, in <module> >> keys = sorted(keys, lambda x, y: cmp(hash[x], hash[y])) >> TypeError: must use keyword argument for key function >> >> Thanks. >> >> Octavian >> >> ----- Original Message ----- >> From: "Jamal Mazrui" <empower@xxxxxxxxx> >> To: <programmingblind@xxxxxxxxxxxxx> >> Sent: Wednesday, December 17, 2008 10:18 PM >> Subject: RE: python question >> >> >> > I'm not an advanced Python user, so there may be more efficient or >> > elegant >> > solutions. The code below is a Python 2.5 equivalent. >> > >> > Jamal >> > >> > hash = {'John': 40, 'Michael': 40, 'Joe': 30} >> > keys = sorted(hash.keys(), reverse = True) >> > keys = sorted(keys, lambda x, y: cmp(hash[x], hash[y])) >> > for key in keys: print key + ', ' + str(hash[key]) >> > >> > -----Original Message----- >> > From: programmingblind-bounce@xxxxxxxxxxxxx>> > [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of >> > Octavian>> > Rasnita >> > Sent: Wednesday, December 17, 2008 8:40 AM >> > To: programmingblind@xxxxxxxxxxxxx >> > Subject: Re: python question >> > >> > The Windows msi installer for python from python.org contains a chm >> > help >> > file for python 3, or at least this is how it is named. >> > >> > I haven't started to read it though. >> > >> > But I have a question regarding python. >> >>> > I have started to read the book "Perl to python migration" hoping >> > to>> > understand it better, but I am pretty confused of how python does >> > the >> > sorting, or at least about how it is explained in that book thatmight>> > be >> > old, because it talks about python 2.0. >> > >> > For example, if I have a perl hash, or python dictionary like: >> > >> > my %hash = (Joe => 30, John => 40, Michael => 40); >> > >> > and I want to sort it for example by the values of the hashin >> > increasing >> > order, then by the keys of the hash in decreasing order, in perl I >> > would >> > need to do just: >> > >> > foreach my $key(sort {$hash{$a} <=> $hash{$b} or $b cmp $a} keys%hash)>> > { >> > print "$key, $hash{$key}\n"; } >> > >> > This would print: >> > Joe, 30 >> > Michael, 40 >> > John, 40 >> > >> > Can you tell me how to do this in python? I hope there are newer >> > ways >> > of >> > doing this more easier than what I read in that book. >> > >> > And I would also like to know which is the prefered ORM, the >> > prefered >> > templating systems, form manager(s), web framework... (although Ithink>> > it >> > is Zope), so if you have used them, please tell me. >> > >> > Octavian >> > >> > ----- Original Message ----- >> > From: <james.homme@xxxxxxxxxxxx> >> > To: <programmingblind@xxxxxxxxxxxxx> >> > Sent: Wednesday, December 17, 2008 2:29 PM >> > Subject: RE: python question >> > >> > >> >> Hi, >> >> Along those lines, does anyone know if any of the Pythondocumentation>> > on >> >> http://www.nonvisualdevelopment.org talks about 3.0? >> >> >> >> Thanks. >> >> >> >> Jim >> >> >> >> James D Homme, Usability Engineering, Highmark Inc., >> >> james.homme@xxxxxxxxxxxx, 412-544-1810 >> >> >> >> "The difference between those who get what they wish for and thosewho>> >> don't is action. Therefore, every action you take is a complete >> >> success,regardless of the results." -- Jerrold Mundis >> >> Highmark internal only: For usability and accessibility: >> >> http://highwire.highmark.com/sites/iwov/hwt093/ >> > >> > __________ >> > View the list's information and change your settings at >> > //www.freelists.org/list/programmingblind >> > >> > >> > __________ >> > View the list's information and change your settings at >> > //www.freelists.org/list/programmingblind >> > >> >> __________ >> View the list's information and change your settings at >> //www.freelists.org/list/programmingblind >> > __________ > View the list's information and change your settings at > //www.freelists.org/list/programmingblind > __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind----------------------------------------------------------------------------"Information in this email (including attachments) is confidential. It is intended for receipt and consideration only by the intended recipient.If you are not an addressee or intended recipient, any use, dissemination,distribution, disclosure, publication or copying of information contained in this email is strictly prohibited. Opinions expressed in this email may be personal to the author and are not necessarily the opinions of the HSE. If this email has been received by you in error we would be grateful if you could immediately notify the ICT Service Desk by telephone at +353 1 6352757 or by email to service.desk@xxxxxxxxxxxx and thereafter delete this e-mail from your system"----------------------------------------------------------------------------__________ View the list's information and change your settings at //www.freelists.org/list/programmingblind __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind__________ View the list's information and change your settings at //www.freelists.org/list/programmingblind __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind
__________View the list's information and change your settings at //www.freelists.org/list/programmingblind