Source code for sqlobject.tests.test_SingleJoin

from sqlobject import ForeignKey, SQLObject, SingleJoin, StringCol
from sqlobject.tests.dbtest import setupClass


[docs]class PersonWithAlbum(SQLObject): name = StringCol() # albumNone returns the album or none albumNone = SingleJoin('PhotoAlbum', joinColumn='test_person_id') # albumInstance returns the album or an default album instance albumInstance = SingleJoin('PhotoAlbum', makeDefault=True, joinColumn='test_person_id')
[docs]class PhotoAlbum(SQLObject): color = StringCol(default='red') person = ForeignKey('PersonWithAlbum', dbName='test_person_id')
[docs]def test_1(): setupClass([PersonWithAlbum, PhotoAlbum]) person = PersonWithAlbum(name='Gokou (Kakarouto)') # We didn't create an album, this way it returns None assert not person.albumNone assert isinstance(person.albumInstance, PhotoAlbum) PhotoAlbum(person=person) assert person.albumNone assert isinstance(person.albumNone, PhotoAlbum) assert isinstance(person.albumInstance, PhotoAlbum)