やあ、
私は2つのテーブルを持っており、関係によってリンクしています:
class News(db.Model):
#[...]
venue_id = db.Column(db.Integer(), db.ForeignKey(Venue.id))
venue = db.relationship(Venue, backref='news')
ニュースアイテムを作成すると、会場オブジェクトが選択して表示されますが、順序付けされていません。どうすればよいですか?
ありがとうございます !
あなたがしなければならないのは、Flask-Adminにソートに使用するフィールドを指示することだけです。 デフォルトでは、Flask-Adminはそれについて何の仮定もしません。
これはsqlaからのスニペットです:
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
最も参考になるコメント
あなたがしなければならないのは、Flask-Adminにソートに使用するフィールドを指示することだけです。 デフォルトでは、Flask-Adminはそれについて何の仮定もしません。
これはsqlaからのスニペットです:
user
は、User
テーブルとの関係です。 必要に応じて、User.id
を指定することもできます。