db.Column("metapackage_id", db.Integer, db.ForeignKey("meta_package.id"), primary_key=True)
)
-tags = db.Table("tags",
+Tags = db.Table("tags",
db.Column("tag_id", db.Integer, db.ForeignKey("tag.id"), primary_key=True),
db.Column("package_id", db.Integer, db.ForeignKey("package.id"), primary_key=True)
)
dependencies = db.relationship("Dependency", backref="depender", lazy="dynamic", foreign_keys=[Dependency.depender_id])
- tags = db.relationship("Tag", secondary=tags, lazy="select",
+ tags = db.relationship("Tag", secondary=Tags, lazy="select",
backref=db.backref("packages", lazy=True))
releases = db.relationship("PackageRelease", backref="package",
query = query.filter(Package.type.in_(self.types))
if self.search:
- query = query.search(self.search, sort=True)
+ query = query.search(self.search, sort=self.order_by is None)
if self.random:
query = query.order_by(func.random())
to_order = None
if self.order_by is None and self.search:
pass
- if self.order_by is None or self.order_by == "score":
+ elif self.order_by is None or self.order_by == "score":
to_order = Package.score
elif self.order_by == "name":
to_order = Package.name
else:
abort(400)
- if self.order_dir == "asc":
- to_order = db.asc(to_order)
- elif self.order_dir == "desc":
- to_order = db.desc(to_order)
- else:
- abort(400)
+ if to_order:
+ if self.order_dir == "asc":
+ to_order = db.asc(to_order)
+ elif self.order_dir == "desc":
+ to_order = db.desc(to_order)
+ else:
+ abort(400)
- query = query.order_by(to_order)
+ query = query.order_by(to_order)
if self.author:
author = User.query.filter_by(username=self.author).first()