diff options
author | Luke Macken <lmacken@redhat.com> | 2011-04-12 21:35:04 -0400 |
---|---|---|
committer | Luke Macken <lmacken@redhat.com> | 2011-04-12 21:35:04 -0400 |
commit | ef0f36eee50df5081280edd069ff452573c0f679 (patch) | |
tree | 91fb6c62687d2c3c5107e3dc8c97cc2819768792 /leafymiracle/models.py | |
parent | 79380e187bfa4b1ee5db7f017adb9c6fae3b13ad (diff) | |
parent | 13d9a8971b2a0113ee4535e5a6f3e644032cb8fe (diff) | |
download | leafymiracle-ef0f36eee50df5081280edd069ff452573c0f679.tar.gz leafymiracle-ef0f36eee50df5081280edd069ff452573c0f679.tar.xz leafymiracle-ef0f36eee50df5081280edd069ff452573c0f679.zip |
Merge branch 'dependencies'
Conflicts:
.gitignore
README.txt
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) |