class User(db.Model, UserMixin): __tablename__ = 'trivia_user' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80), nullable=False) email = db.Column(db.String(256), unique=True, nullable=False) password = db.Column(db.String(128), nullable=False) roles = db.relationship('Role', backref='user', lazy='dynamic') def __repr__(self): return '<User {} - Email {}>'.format(self.name, self.email) def set_password(self, password): self.password = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password, password) def is_admin(self): return self.is_admin def save(self): if not self.id: db.session.add(self) db.session.commit() @staticmethod def get_by_id(id): return User.query.get(id) @staticmethod def get_by_email(email): return User.query.filter_by(email=email).first()
class Usuario(db.Model, UserMixin): __tablename__ = 'usuario' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(32), nullable=False) email = db.Column(db.String(64), nullable=False, unique=True) password = db.Column(db.String(128), nullable=False) roles = db.relationship('Role', backref='user', lazy='dynamic') #is_admin = db.Column(db.Boolean) def set_password(self, password): self.password = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password, password) def __repr__(self): return f'<Usuario {self.name} Email: {self.email}>' def save(self): if not self.id: db.session.add(self) db.session.commit() @staticmethod def get_by_id(id): return Usuario.query.get(id) @staticmethod def get_by_email(email): return Usuario.query.filter_by(email=email).first()
class Usuario(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64), unique=True, nullable=False) email = db.Column(db.String(64), unique=True, nullable=False) password_hash = db.Column(db.String(128), nullable=False) is_admin = db.Column(db.Boolean) tiempos = db.relationship('BestTime', backref='usuario', lazy='dynamic') roles = db.relationship('Role', backref='usuario', lazy='dynamic') def set_password(self, password): self.password_hash = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password_hash, password) def __repr__(self): return '<Usuario: {}>'.format(self.email) def save(self): if not self.id: db.session.add(self) db.session.commit() @staticmethod def get_by_id(id): return Usuario.query.get(id) @staticmethod def get_by_email(email): return Usuario.query.filter_by(email=email).first()
class Usuario(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64), nullable=False) email = db.Column(db.String(64), unique=True, nullable=False) password_hash = db.Column(db.String(128), nullable=False) def set_password(self, password): self.password_hash = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password_hash, password) is_admin = db.Column(db.Boolean) def __repr__(self): return '<Usuario: {}>'.format(self.email)
class Role(db.Model): id = db.Column(db.Integer, primary_key=True) rolename = db.Column(db.String(60), nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('usuario.id')) def __repr__(self): return f'<Role {self.rolename}>'
class Pregunta(db.Model): id = db.Column(db.Integer, primary_key=True) text = db.Column(db.String(255), nullable=False, unique=True) categoria_id = db.Column(db.Integer, db.ForeignKey('categoria.id')) def __repr__(self): return '<Pregunta %s>' % self.text
class Respuesta(db.Model): id = db.Column(db.Integer, primary_key=True) text = db.Column(db.String(255), nullable=False) answer = db.Column(db.Boolean, nullable=False) pregunta_id = db.Column(db.Integer, db.ForeignKey('pregunta.id')) def __repr__(self): return '<Respuesta %s>' % self.text
class Pregunta(db.Model): id = db.Column(db.Integer, primary_key=True) text = db.Column(db.String(255), nullable=False, unique=True) categoria_id = db.Column(db.Integer, db.ForeignKey('categoria.id')) respuestas = db.relationship('Respuesta', backref='pregunta', lazy='dynamic') def __repr__(self): return '<Pregunta %s>' % self.text
class Usuario(db.Model): __tablename__ = 'usuario' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(32), nullable=False) email = db.Column(db.String(64), nullable=False, unique=True) password = db.Column(db.String(128), nullable=False) admin = db.Column(db.Boolean) def set_password(self, password): self.password = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password, password) def __repr__(self): return f'<Usuario {self.name} Email: {self.email}>'
class Categoria(db.Model): id = db.Column(db.Integer, primary_key=True) descripcion = db.Column(db.String(64), index=True, unique=True) # preguntas = db.relationship('Pregunta', backref='categoria', lazy='dynamic') def __repr__(self): return '<Categoria: {}>'.format(self.descripcion)
class Respuesta(db.Model): __tablename__ = 'respuesta' id = db.Column(db.Integer, primary_key=True) text = db.Column(db.String(255), nullable=False, unique=True) correcta = db.Column(db.Boolean, nullable=False, default=False) pregunta_id = db.Column(db.Integer, db.ForeignKey('pregunta.id')) def __repr__(self): return f'<Respuesta {self.text}>'
class Respuesta(db.Model): # campo id es el Primary Key de la tabla id = db.Column(db.Integer, primary_key=True) # Texto que tiene la respuesta text = db.Column(db.String(255), nullable=False, unique=True) # ¿Es la respuesta correcta a la Pregunta? Lo defino en este campo booleano, que no sea Nulo, y que x defecto sea False correcta = db.Column(db.Boolean, nullable=False, default=False) # Esta respuesta corresponde a una pregunta exacta, guardo el id de esa pregunta pregunta_id = db.Column(db.Integer, db.ForeignKey('pregunta.id')) def __repr__(self): return '<Respuesta %s>' % self.text
class Role(db.Model): id = db.Column(db.Integer, primary_key=True) rolename = db.Column(db.String(60), nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('trivia_user.id'))