|
|
| (4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
| Zeile 1: |
Zeile 1: |
| | <btn wrapperclass="btn-group-vertical" class="btn-primary" size="md"> | | <btn wrapperclass="btn-group-vertical" class="btn-primary" size="md"> |
| − | WTF Integer| <span class="glyphicon glyphicon-share-alt">''WTF Integer''</span> | + | WTF_Know_how| <span class="glyphicon glyphicon-share-alt">''WTF knowhow''</span> |
| − | Python_things | <span class="glyphicon glyphicon-share-alt">''Python things''</span> | + | Flask Security | <span class="glyphicon glyphicon-share-alt">''Flask Security knowledgebase''</span> |
| | + | SQLAlchemy_Things | <span class="glyphicon glyphicon-share-alt">''Things about SQLAlchemy''</span> |
| | + | Virtualenv | <span class="glyphicon glyphicon-share-alt">''Create and use a virtual environment''</span> |
| | </btn> | | </btn> |
| − |
| |
| − |
| |
| − |
| |
| − |
| |
| − | === User Role models for Flask-SQLAlchemy ===
| |
| − |
| |
| − | old...
| |
| − |
| |
| − | <pre>
| |
| − | class Role(db.Model, RoleMixin):
| |
| − | __tablename__ = table_prefix + "role"
| |
| − | id = db.Column(db.Integer(), primary_key=True)
| |
| − | role = db.Column(db.String(80), unique=True)
| |
| − | description = db.Column(db.String(255))
| |
| − | users = db.relationship(
| |
| − | 'User',
| |
| − | secondary=table_prefix + 'user_roles',
| |
| − | back_populates='roles',
| |
| − | lazy='dynamic')
| |
| − |
| |
| − |
| |
| − | class User(UserMixin, db.Model):
| |
| − | __tablename__ = table_prefix + "user"
| |
| − | id = db.Column(db.Integer, primary_key=True)
| |
| − | username = db.Column(db.String(50), index=True, unique=True)
| |
| − | password_hash = db.Column(db.String(128))
| |
| − | email = db.Column(db.String(100), index=True, unique=True)
| |
| − | language = db.Column(db.String(10), default="en_UK")
| |
| − | roles = db.relationship(
| |
| − | 'Role',
| |
| − | secondary=table_prefix + 'user_roles',
| |
| − | back_populates='users',
| |
| − | cascade='all, delete',
| |
| − | lazy='dynamic')
| |
| − | </pre>
| |
| − |
| |
| − | new...? UserMixin and RoleMixin from Flask-Security with minimal requirements included (see also: [https://pythonhosted.org/Flask-Security/models.html Flask Security (Models)]
| |
| − |
| |
| − | <pre>
| |
| − | class Role(db.Model, RoleMixin):
| |
| − | __tablename__ = table_prefix + "role"
| |
| − | id = db.Column(db.Integer(), primary_key=True)
| |
| − | name = db.Column(db.String(80), unique=True)
| |
| − | description = db.Column(db.String(255))
| |
| − |
| |
| − |
| |
| − | class User(db.Model, UserMixin):
| |
| − | __tablename__ = table_prefix + "user"
| |
| − | id = db.Column(db.Integer, primary_key=True)
| |
| − | username = db.Column(db.String(50), index=True, unique=True)
| |
| − | password_hash = db.Column(db.String(128))
| |
| − | email = db.Column(db.String(100), index=True, unique=True)
| |
| − | active = db.Column(db.Boolean(), default=False)
| |
| − | confirmed_at = db.Column(db.DateTime())
| |
| − | language = db.Column(db.String(10), default="en_UK")
| |
| − | roles = db.relationship(
| |
| − | 'Role',
| |
| − | secondary=table_prefix + 'userrole',
| |
| − | backref=db.backref('users', lazy='dynamic'),
| |
| − | passive_deletes=True)
| |
| − |
| |
| − | def __repr__(self):
| |
| − | return '<User {}>'.format(self.username)
| |
| − |
| |
| − | class UserRole(db.Model):
| |
| − | __tablename__ = table_prefix + 'userrole'
| |
| − | user_id = db.Column(
| |
| − | db.Integer(),
| |
| − | db.ForeignKey(table_prefix
| |
| − | + 'user.id',
| |
| − | ondelete='CASCADE')
| |
| − | )
| |
| − | role_id = db.Column(
| |
| − | db.Integer(),
| |
| − | db.ForeignKey(table_prefix + 'role.id')
| |
| − | )
| |
| − | __table_args__ = (
| |
| − | PrimaryKeyConstraint(
| |
| − | user_id,
| |
| − | role_id),
| |
| − | {})
| |
| − | </pre>
| |