Skip to content

Instantly share code, notes, and snippets.

@takwas
Created April 28, 2016 10:18
Show Gist options
  • Save takwas/868e45849af1507e8edfc593ee000de6 to your computer and use it in GitHub Desktop.
Save takwas/868e45849af1507e8edfc593ee000de6 to your computer and use it in GitHub Desktop.
class JobMedia(db.Model):
__tablename__ = 'jobs_media'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String, nullable=False, unique=True)
job_id = db.Column(db.Integer, db.ForeignKey('jobs.id'), nullable=False, unique=True)
job = db.relationship('Job', uselist=False,
backref=db.backref('media', uselist=False))
def __init__(self, job_id):
from app_package.helpers import db_ops
job = db_ops.ret_val(db_ops.Job, dict(id=job_id)) # retrieves matching `job` object with `job_id` from DB
job_title = job.title.lower()
# turn text to a slug: split text around characters (' ._/')
# and join again using '-' in-between words
slug = utils.slugify(text=job_title) + '_' + str(job.id + 10000)
self.name = slug + '.jpg'
self.job_id = job_id
class UserProfileMedia(db.Model):
__tablename__ = 'users_profile_media'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String, nullable=False, unique=True)
user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False, unique=True)
user = db.relationship('User', uselist=False,
backref=db.backref('profile_media', uselist=False))
def __init__(self, user_id):
from app_package.helpers import db_ops
user = db_ops.ret_val(db_ops.User, dict(id=user_id))
full_name = utils.get_user_full_name(user).lower() + '_' + \
str(user_id + 10000)
slug = utils.slugify(text=full_name)
self.name = slug+ '.jpg'
self.user_id = user_id
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment