【发布时间】:2021-02-23 16:39:45
【问题描述】:
我有两个模型,一个是包含两个 ID(first_id 和 second_id)的标识,第二个是用户。这个想法是只有授权用户才会被赋予他们的 first_id 和 second_id 对值。他们进入站点并通过输入两个 id 以及用户名和密码(他们在那里生成)来登录。
我想在这里实现两件事:
使用许多(比如 100 个)first_id/second_id 值预填充标识表,这些值将用作登录时的正确值对。
以这样一种方式设置 User 类,即只有当用户在登录表单中输入正确的 first_id/second_id 对时,他们才能登录(推测这涉及以某种方式使用标识表检查表单数据)。
这里是模型类:
class Identification(db.Model):
id = db.Column(db.Integer, primary_key=True)
first_id= db.Column(db.Text, unique=True)
second_id= db.Column(db.Text, unique=True)
def __init__(self, first_id, second_id):
self.first_id= first_id
self.second_id= second_id
def __repr__(self):
return f"ID: {self.id}, first_id: {self.first_id}, second_id: {self.second_id}"
class User(db.Model, UserMixin):
__tablename__ = 'user'
first_id= db.relationship('Identification', backref = 'identificationFID', uselist=False)
second_id = db.relationship('Identification', backref = 'identificationSID', uselist=False)
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.Text, unique=True, index=True)
password_hash = db.Column(db.Text(128))
identification_id = db.Column(db.Integer, db.ForeignKey('identification.id'), unique=True)
first_id = db.Column(db.Text, unique=True)
second_id = db.Column(db.Text, unique=True)
我很感激任何帮助,因为我正在努力,这真的超出了我对 python/Flask 的理解。谢谢大家!
【问题讨论】:
标签: python flask flask-sqlalchemy