class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
   # id = Column(Integer, ForeignKey('cart.id'))
    name = Column(Unicode(255), unique=True, nullable=False)
    password = Column(Unicode(255), nullable=False)
    last_logged = Column(DateTime, default=datetime.datetime.utcnow)
    user_banned = Column(Boolean())
    user_banned_reason = Column(UnicodeText, default=u'')
    active = Column(Boolean, default=False)
    contacts = relationship('Contact')

    @classmethod
    def by_name(cls, name):
        return DBSession.query(User).filter(User.name == name).first()

    def verify_password(self, password):
        return self.password == password

class Blog_Entry(Base):
    __tablename__ = 'entries'
    id = Column(Integer, primary_key=True)
    title = Column(Unicode(255), unique=True, nullable=False)
    body = Column(UnicodeText, default=u'')
    created = Column(DateTime, default=datetime.datetime.utcnow)
    edited = Column(DateTime, default=datetime.datetime.utcnow)

    
class Contact(Base):
   __tablename__ = 'contacts'
   id = Column(Integer, primary_key=True)
   id = Column(Integer, ForeignKey('users.id'))
   name = Column(Unicode(255), unique=True, nullable=False)
   email = Column(Unicode(255), nullable=False)
   body = Column(UnicodeText, default=u'')
   created = Column(DateTime, default=datetime.datetime.utcnow)
     
 
class Song(Base):
   __tablename__ = 'song'
   id = Column(Integer, primary_key=True)
   id = Column(Integer, ForeignKey('album.id'))
   id = Column(Integer, ForeignKey('genre.id'))
   #id = Column(Integer, ForeignKey('artist.id'))
   title = Column(Unicode(255), nullable=False)
   url = Column(Unicode(255), nullable=False)
   artist = Column(Unicode(255), nullable=False)
   year = Column(Unicode(255), nullable=False)
   price = Column(Unicode(255), nullable=False)



class Genre(Base):
   __tablename__ = 'genre'
   id = Column(Integer, primary_key=True)
   #id = Column(Integer, ForeignKey=('song.id'))
   genre = Column(Unicode(255), nullable=False)
   active = Column(Boolean, default=False)
   songs = relationship("Song")   




class Artist(Base):
   __tablename__ = 'artist'
   id = Column(Integer, primary_key=True)
   id = Column(Integer, ForeignKey('users.id'))
   #id = Column(Integer, ForeignKey('album.id'))
   artist = Column(Unicode(255), nullable=False)
   bio = Column(UnicodeText, default=u'')   
   active = Column(Boolean, default=False)
   
   song = relation('Song')

class Album(Base):
   __tablename__ = 'album'
   id = Column(Integer, primary_key=True)
   id = Column(Integer, ForeignKey('artist.id'))
   #id = Column(Integer, ForeignKey('song.id'))
   album_name = Column(Unicode(255), nullable=False)
   ReleaseDate = Column(DateTime)
   picture = Column(Unicode(255), nullable=False)
   active = Column(Boolean, default=False)


   artist = relation('Artist', backref=backref('album', order_by=id))
   def __repr__(self):
        return "<artist('%')>" % self.name

'''
class Cart(Base):
   __tablename__ = 'cart'
   id = Column(Integer, primary_key=True)
   id = Column(Integer, ForeignKey('users.id')
   id = Column(Integer, ForeignKey('song.id'))
   order_date =  Column(DateTime, default=datetime.datetime.utcnow)
   price = Column(Unicode(255), nullable=False)
   user = relation('User')
   def __repr__(self):
    return "<User('%')" % self.name    
 '''

class SongReview(Base):
   __tablename__ = 'review'
   id = Column(Integer, primary_key=True)
   id = Column(Integer, ForeignKey('song.id'))
   rating = Column(Unicode(255), nullable = True)
   body = Column(UnicodeText, default=u'')
   created = Column(DateTime, default=datetime.datetime.utcnow)
   is_approved = Column(Boolean, default=True)

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to