我将尝试提出一个问题。
现在我正在学习 Python 和 SQLAlchemy 为自己做一个项目。创建了一个表User:
Model = declarative_base()
class User(Model):
__tablename__ = "users"
id = Column(Integer, primary_key = True)
nickname = Column(String)
email = Column(String)
password = Column(String)
添加了一些条目。
假设现在我想检查是否有任何用户使用指定的电子邮件?我执行以下操作:
bool(session.query(exists().where(User.email == email)).scalar())
至于我——这段代码绝对不可读。因此,我将它(以及用于处理基础的其他类似功能)移到一个单独的类Users中。我在应用程序逻辑中根据需要调用它们。
class Users:
def exists(email):
return bool(session.query(exists().where(User.email == email)).scalar())
def add(nick, email, password):
pass # Тут код
def email_exists(email):
pass # Тут код
def update(id, nick, email, password):
pass # Тут код
现在我想明白了。我在骑自行车方面进步了多少?如何做到“好”?我已经打开了几个开源项目,但还没有看到类似的东西。因此,我逐渐意识到这不是正确的方法。
