Advertisement
sztosz

models

Dec 10th, 2012
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.18 KB | None | 0 0
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. '''
  4. Created on Dec 8, 2012
  5.  
  6. @author: sztosz
  7. '''
  8.  
  9. #***IMPORTS***
  10. from sqlalchemy import Column, Integer, String, ForeignKey
  11. from sqlalchemy.ext.declarative import declarative_base
  12. from sqlalchemy.orm import relationship, backref
  13. #from magic import (
  14. #            Entity, one_to_many, many_to_one, many_to_many
  15. #        )
  16.  
  17.  
  18. #***MODELS***
  19. Base = declarative_base()
  20.  
  21.  
  22. class Track(Base):
  23.  
  24.     __tablename__ = 'track'
  25.  
  26.     id = Column(Integer, primary_key=True)
  27.  
  28.     tracknumber = Column(Integer)
  29. #    totalTracks = Column(Integer)
  30.     discbumber = Column(Integer)
  31.  
  32.     title = Column(String)
  33.     source = Column(String)
  34.  
  35.     album = Column(Integer, ForeignKey('album.id'))
  36.     artist = Column(Integer, ForeignKey('artist.id'))
  37.  
  38.     def __init__(self, title, tracknumber, discnumber, source, album, artist):
  39.         self.title = title
  40.         self.tracknumber = tracknumber
  41.         self.discbumber = discnumber
  42.         self.album = album
  43.         self.artist = artist
  44.         self.source = source
  45.  
  46.     def __repr__(self):
  47.         return "<Track {}, from {}, by {}>".format(self.title,
  48.                                             self.album.title, self.artist.name)
  49.  
  50.  
  51. class Album(Base):
  52.  
  53.     __tablename__ = 'album'
  54.  
  55.     id = Column(Integer, primary_key=True)
  56.  
  57.     title = Column(String)
  58.     artist = Column(Integer, ForeignKey('artist.id'))
  59. #    tracks = relationship('Track', backref='album')
  60.     tracks = relationship('Track')
  61.  
  62.     year = Column(Integer)
  63.  
  64.     def __init__(self, title, year, artist):
  65.         self.title = title
  66.         self.year = year
  67.         self.artist = artist
  68.  
  69.     def __repr__(self):
  70.         return "<Album {}, By {}>".format(self.title, self.artist.name)
  71.  
  72.  
  73. class Artist(Base):
  74.  
  75.     __tablename__ = 'artist'
  76.  
  77.     id = Column(Integer, primary_key=True)
  78.  
  79.     name = Column(String)
  80. #    albums = relationship('Album', backref='artist')
  81. #    tracks = relationship('Track', backref='artist')
  82.     albums = relationship('Album')
  83.     tracks = relationship('Track')
  84.  
  85.     def __init__(self, name):
  86.         self.name = name
  87.  
  88.     def __repr__(self):
  89.         return "<Artist {}>".format(self.name)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement