рдирдорд╕реНрддреЗ,
рдореЗрд░реЗ рдкрд╛рд╕ рджреЛ рдЯреЗрдмрд▓ рд╣реИрдВ, рдПрдХ рд░рд┐рд╢реНрддреЗ рд╕реЗ рд▓рд┐рдВрдХ:
class News(db.Model):
#[...]
venue_id = db.Column(db.Integer(), db.ForeignKey(Venue.id))
venue = db.relationship(Venue, backref='news')
рд╕рдорд╛рдЪрд╛рд░ рдЖрдЗрдЯрдо рдмрдирд╛рддреЗ рд╕рдордп, рд╕реНрдерд▓ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдПрдХ рдЪрдпрди рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрджреЗрд╢ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореИрдВ рдпрд╣ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдзрдиреНрдпрд╡рд╛рдж !
рдЖрдкрдХреЛ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдлреНрд▓рд╛рд╕реНрдХ-рдПрдбрдорд┐рди рдХреЛ рдпрд╣ рдмрддрд╛рдирд╛ рд╣реИ рдХрд┐ рдЫрдБрдЯрд╛рдИ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдлреНрд▓рд╛рд╕реНрдХ-рдПрдбрдорд┐рди рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдзрд╛рд░рдгрд╛ рдирд╣реАрдВ рдмрдирд╛рдПрдЧрд╛ред
рдпрд╣ sql рд╕реЗ рд╕реНрдирд┐рдкреЗрдЯ рд╣реИ:
class PostAdmin(sqlamodel.ModelView):
# List of columns that can be sorted. For 'user' column, use User.username as
# a column.
column_sortable_list = ('title', ('user', User.username), 'date')
user
User
рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдЗрд╕реЗ User.id
рдкрд░ рднреА рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реВрдЪреА рджреГрд╢реНрдп рдореЗрдВ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдХреНрдпрд╛ рд╣реИред рдореЗрдВ рд╕реЙрд░реНрдЯ рдСрд░реНрдбрд░ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛
@mistercrunch (рдФрд░ рдЕрдиреНрдп рдЬреЛ рдЗрд╕реЗ рдореЗрд░реЗ рдЬреИрд╕реЗ Google рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдвреВрдВрдврддреЗ рд╣реИрдВ), рдЖрдк рдлреЙрд░реНрдо рдлрд╝реАрд▓реНрдб рдкрд░ query_factory
рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреБрдЫ рдЗрд╕ рддрд░рд╣:
def edit_form(self, obj=None):
form = super().edit_form(obj)
# apply a sort to the relation
form.venue.query_factory = lambda: models.Venue.query.order_by(models.Venue.name)
return form
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЖрдкрдХреЛ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдлреНрд▓рд╛рд╕реНрдХ-рдПрдбрдорд┐рди рдХреЛ рдпрд╣ рдмрддрд╛рдирд╛ рд╣реИ рдХрд┐ рдЫрдБрдЯрд╛рдИ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдлреНрд▓рд╛рд╕реНрдХ-рдПрдбрдорд┐рди рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдзрд╛рд░рдгрд╛ рдирд╣реАрдВ рдмрдирд╛рдПрдЧрд╛ред
рдпрд╣ sql рд╕реЗ рд╕реНрдирд┐рдкреЗрдЯ рд╣реИ:
user
User
рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдЗрд╕реЗUser.id
рдкрд░ рднреА рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред