diff options
author | rubenwardy <rw@rubenwardy.com> | 2020-04-21 20:35:05 +0100 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2020-04-21 20:35:05 +0100 |
commit | 3992b19be321116ad425d88932e49164c61c2738 (patch) | |
tree | b2ff86407f8df3c0d99df976c1e9810b08ada50f /app/models.py | |
parent | a678a61c23cd61f11d7c0a570f26e9d333bb9731 (diff) | |
download | cheatdb-3992b19be321116ad425d88932e49164c61c2738.tar.xz |
Optimise SQL queriesv1.24.3
Diffstat (limited to 'app/models.py')
-rw-r--r-- | app/models.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/app/models.py b/app/models.py index 4eed0c2..5824189 100644 --- a/app/models.py +++ b/app/models.py @@ -147,7 +147,7 @@ class User(db.Model, UserMixin): notifications = db.relationship("Notification", primaryjoin="User.id==Notification.user_id") # causednotifs = db.relationship("Notification", backref="causer", lazy="dynamic") - packages = db.relationship("Package", backref="author", lazy="dynamic") + packages = db.relationship("Package", backref=db.backref("author", lazy="joined"), lazy="dynamic") requests = db.relationship("EditRequest", backref="author", lazy="dynamic") threads = db.relationship("Thread", backref="author", lazy="dynamic") tokens = db.relationship("APIToken", backref="owner", lazy="dynamic") @@ -437,12 +437,12 @@ class Package(db.Model): forums = db.Column(db.Integer, nullable=True) provides = db.relationship("MetaPackage", \ - secondary=provides, lazy="subquery", order_by=db.asc("name"), \ + secondary=provides, lazy="select", order_by=db.asc("name"), \ backref=db.backref("packages", lazy="dynamic", order_by=db.desc("score"))) dependencies = db.relationship("Dependency", backref="depender", lazy="dynamic", foreign_keys=[Dependency.depender_id]) - tags = db.relationship("Tag", secondary=tags, lazy="subquery", + tags = db.relationship("Tag", secondary=tags, lazy="select", backref=db.backref("packages", lazy=True)) releases = db.relationship("PackageRelease", backref="package", @@ -1135,3 +1135,8 @@ class ForumTopic(db.Model): # Setup Flask-User user_manager = UserManager(app, db, User) + +if app.config.get("LOG_SQL"): + import logging + logging.basicConfig() + logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO) |