Source code for sqlobject.tests.test_NoneValuedResultItem
# Test that selectResults handle NULL values from, for example, outer joins. fromsqlobjectimport ForeignKey, SQLObject, StringCol, sqlbuilder fromsqlobject.tests.dbtestimport setupClass[docs] classSOTestWork(SQLObject): classsqlmeta: idName = "work_id" composer = ForeignKey('SOTestComposer') title = StringCol()[docs] deftest1(): setupClass([SOTestComposer, SOTestWork]) c = SOTestComposer(name='Mahler, Gustav') w = SOTestWork(composer=c, title='Symphony No. 9') SOTestComposer(name='Bruckner, Anton') # but don't add any works for Bruckner # do a left join, a common use case that often involves NULL results s = SOTestWork.select( join=sqlbuilder.LEFTJOINOn( SOTestComposer, SOTestWork, SOTestComposer.q.id == SOTestWork.q.composerID)) assert tuple(s) == (w, None)