diff options
author | Ralph Bean <ralph.bean@gmail.com> | 2011-04-12 21:37:25 -0400 |
---|---|---|
committer | Ralph Bean <ralph.bean@gmail.com> | 2011-04-12 21:37:25 -0400 |
commit | 2f8b1230d6b90523b92c0b60cb479ab499017f59 (patch) | |
tree | 5125c3884110d4bb0cb6cb83d1750364df114b3e /leafymiracle/models.py | |
parent | 696ffbe2a33e2e1cec51ab503baed6169addc4d1 (diff) | |
parent | ef0f36eee50df5081280edd069ff452573c0f679 (diff) | |
download | leafymiracle-2f8b1230d6b90523b92c0b60cb479ab499017f59.tar.gz leafymiracle-2f8b1230d6b90523b92c0b60cb479ab499017f59.tar.xz leafymiracle-2f8b1230d6b90523b92c0b60cb479ab499017f59.zip |
Merge branch 'master' of git+ssh://fedorapeople.org/~lmacken/public_git/leafymiracle
Diffstat (limited to 'leafymiracle/models.py')
-rw-r--r-- | leafymiracle/models.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/leafymiracle/models.py b/leafymiracle/models.py index 0e86aa1..0edbdd4 100644 --- a/leafymiracle/models.py +++ b/leafymiracle/models.py @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -from sqlalchemy import Integer, Column, Unicode, UnicodeText, ForeignKey +from sqlalchemy import Integer, Column, Unicode, UnicodeText, ForeignKey, Table from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import relationship, scoped_session, sessionmaker @@ -115,6 +115,22 @@ class Package(Base): """.format(**self.__dict__) } +dependencies_mapping = Table( + 'packages_dependencies_mapping', Base.metadata, + Column('depender_id', Integer, + ForeignKey('packages.id'), primary_key=True), + Column('dependee_id', Integer, + ForeignKey('packages.id'), primary_key=True)) + +Package.__mapper__.add_property('dependencies', relationship( + Package, + primaryjoin=Package.id==dependencies_mapping.c.dependee_id, + secondaryjoin=dependencies_mapping.c.depender_id==Package.id, + secondary=dependencies_mapping, + doc="List of this packages' dependencies!", +)) + + def initialize_sql(engine): DBSession.configure(bind=engine) |