|
1 | 1 | #!/usr/bin/env python
|
2 | 2 | # -*- coding: iso-8859-15 -*-
|
3 | 3 |
|
4 |
| -from hgtv.models import db, BaseMixin |
| 4 | +from hgtv.models import db, BaseNameMixin |
5 | 5 | from hgtv.models.tag import tags_videos
|
| 6 | +from hgtv.models.channel import Channel, channels_videos, playlists_videos |
6 | 7 |
|
7 | 8 | __all__ = ['Video']
|
8 | 9 |
|
9 |
| -class Video(db.Model, BaseMixin): |
| 10 | + |
| 11 | +class Video(db.Model, BaseNameMixin): |
10 | 12 | __tablename__ = 'video'
|
11 |
| - name = db.Column(db.Unicode(80), unique=True, nullable=False) |
12 |
| - title = db.Column(db.Unicode(80), unique=True, nullable=False) |
13 |
| - description = db.Column(db.Text(), nullable=False) |
14 |
| - url = db.Column(db.Unicode(80), unique=True, nullable=False) |
15 |
| - season_id = db.Column(db.Integer, db.ForeignKey('season.id'), nullable=False) |
| 13 | + channel_id = db.Column(db.Integer, db.ForeignKey('channel.id'), nullable=False) |
| 14 | + channel = db.relationship(Channel, primaryjoin=channel_id == Channel.id, |
| 15 | + backref=db.backref('videos', cascade='all, delete-orphan')) |
| 16 | + description = db.Column(db.UnicodeText, nullable=False, default=u'') |
| 17 | + url = db.Column(db.Unicode(250), nullable=False) |
| 18 | + slides = db.Column(db.Unicode(250), nullable=False, default=u'') |
16 | 19 |
|
17 | 20 | tags = db.relationship('Tag', secondary=tags_videos, backref=db.backref('videos'))
|
| 21 | + channels = db.relationship('Channel', secondary=channels_videos, backref=db.backref('tagged_videos')) |
| 22 | + playlists = db.relationship('Playlist', secondary=playlists_videos, backref=db.backref('videos')) |
18 | 23 |
|
19 | 24 | def __repr__(self):
|
20 |
| - return self.name |
| 25 | + return u'<Video %s>' % self.name |
0 commit comments