Author: phd
Date: Sat Oct 6 09:29:37 2012
New Revision: 4550
Log:
Merged revisions 4548, 4549 from branch 1.2: Neil Muller fixed some of the tests
Modified:
SQLObject/branches/1.3/docs/SQLObject.txt
SQLObject/branches/1.3/sqlobject/tests/test_sqlbuilder_joins_instances.py
Modified: SQLObject/branches/1.3/docs/SQLObject.txt
==============================================================================
--- SQLObject/branches/1.3/docs/SQLObject.txt Sat Oct 6 09:26:59 2012 (r4549)
+++ SQLObject/branches/1.3/docs/SQLObject.txt Sat Oct 6 09:29:37 2012 (r4550)
@@ -212,6 +212,7 @@
Now we'll create the table in the database::
>>> Person.createTable()
+ []
We can change the type of the various columns by using something other
than `StringCol`, or using different arguments. More about this in
@@ -302,13 +303,16 @@
>>> Person._connection.debug = True
>>> p = Person(firstName='Bob', lastName='Hope')
1/QueryIns: INSERT INTO person (last_name, middle_initial, first_name) VALUES ('Hope', NULL, 'Bob')
+ 1/QueryR : INSERT INTO person (last_name, middle_initial, first_name) VALUES ('Hope', NULL, 'Bob')
1/COMMIT : auto
- 1/QueryOne: SELECT first_name, middle_initial, last_name FROM person WHERE id = 2
+ 1/QueryOne: SELECT first_name, middle_initial, last_name FROM person WHERE ((person.id) = (2))
+ 1/QueryR : SELECT first_name, middle_initial, last_name FROM person WHERE ((person.id) = (2))
1/COMMIT : auto
>>> p
<Person 2 firstName='Bob' middleInitial=None lastName='Hope'>
>>> p.middleInitial = 'Q'
- 1/Query : UPDATE person SET middle_initial = 'Q' WHERE id = 2
+ 1/Query : UPDATE person SET middle_initial = ('Q') WHERE id = (2)
+ 1/QueryR : UPDATE person SET middle_initial = ('Q') WHERE id = (2)
1/COMMIT : auto
>>> p2 = Person.get(1)
>>> # Note: no database access, since we're just grabbing the same
@@ -347,7 +351,8 @@
>>> Person._connection.debug = True
>>> peeps = Person.select(Person.q.firstName=="John")
>>> list(peeps)
- 1/Select : SELECT person.id, person.first_name, person.middle_initial, person.last_name FROM person WHERE (person.first_name = 'John')
+ 1/Select : SELECT person.id, person.first_name, person.middle_initial, person.last_name FROM person WHERE ((person.first_name) = ('John'))
+ 1/QueryR : SELECT person.id, person.first_name, person.middle_initial, person.last_name FROM person WHERE ((person.first_name) = ('John'))
1/COMMIT : auto
[<Person 1 firstName='John' middleInitial='Q' lastName='Doe'>]
@@ -368,6 +373,7 @@
statements with these it'll give you the SQL for that statement. You
can also create your SQL more manually::
+ >>> Person._connection.debug = False # Needed for doctests
>>> peeps = Person.select("""address.person_id = person.id AND
... address.zip LIKE '504%'""",
... clauseTables=['address'])
@@ -523,6 +529,7 @@
... zip = StringCol(length=9)
... person = ForeignKey('Person')
>>> Address.createTable()
+ []
Note the column ``person = ForeignKey("Person")``. This is a
reference to a `Person` object. We refer to other classes by name
@@ -611,7 +618,9 @@
... users = RelatedJoin('User')
>>> User.createTable()
+ []
>>> Role.createTable()
+ []
.. note::
Modified: SQLObject/branches/1.3/sqlobject/tests/test_sqlbuilder_joins_instances.py
==============================================================================
--- SQLObject/branches/1.3/sqlobject/tests/test_sqlbuilder_joins_instances.py Sat Oct 6 09:26:59 2012 (r4549)
+++ SQLObject/branches/1.3/sqlobject/tests/test_sqlbuilder_joins_instances.py Sat Oct 6 09:29:37 2012 (r4550)
@@ -33,8 +33,9 @@
assert list(SBPerson.select(AND(SBPerson.q.id==SBAddress.q.personID, SBAddress.q.city=='London'))) == \
list(SBAddress.selectBy(city='London').throughTo.person)
- assert list(SBAddress.select(AND(SBPerson.q.id==SBAddress.q.personID, SBPerson.q.name=='Julia'))) == \
- list(SBPerson.selectBy(name='Julia').throughTo.addresses)
+
+ assert list(SBAddress.select(AND(SBPerson.q.id==SBAddress.q.personID, SBPerson.q.name=='Julia')).orderBy(SBAddress.q.city)) == \
+ list(SBPerson.selectBy(name='Julia').throughTo.addresses.orderBy(SBAddress.q.city))
def testRelatedJoin():
assert list(SBPerson.selectBy(name='Julia').throughTo.sharedAddresses) == \
@@ -53,9 +54,9 @@
list(SBPerson.select(SBPerson.q.name=='Julia').throughTo.sharedAddresses)
def testJoin2():
- assert list(SBAddress.select(AND(SBPerson.j.addresses, SBPerson.q.name=='Julia'))) == \
- list(SBAddress.select(AND(SBPerson.q.id==SBAddress.q.personID, SBPerson.q.name=='Julia'))) == \
- list(SBPerson.selectBy(name='Julia').throughTo.addresses)
+ assert list(SBAddress.select(AND(SBPerson.j.addresses, SBPerson.q.name=='Julia')).orderBy(SBAddress.q.city)) == \
+ list(SBAddress.select(AND(SBPerson.q.id==SBAddress.q.personID, SBPerson.q.name=='Julia')).orderBy(SBAddress.q.city)) == \
+ list(SBPerson.selectBy(name='Julia').throughTo.addresses.orderBy(SBAddress.q.city))
def testFK2():
assert list(SBAddress.select(AND(SBAddress.j.person, SBPerson.q.name=='Julia'))) == \
|