Python flask admin中多对多关系的自定义表单

Python flask admin中多对多关系的自定义表单,python,flask,wtforms,flask-admin,Python,Flask,Wtforms,Flask Admin,假设我有一个城市和街道的简单模型 class City(db.Model): __tablename__ = 'cities' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(255), unique=True) class Street(db.Model): __tablename__ = 'streets' id = db.Column(db.Intege

假设我有一个城市和街道的简单模型

class City(db.Model):
    __tablename__ = 'cities'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255), unique=True)

class Street(db.Model):
    __tablename__ = 'streets'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255), unique=True)
与关系模型

db.Table('city_street',
        db.Column('city_id', db.Integer(), db.ForeignKey('cities.id')),
        db.Column('street_id', db.Integer(), db.ForeignKey('streets.id')))
我想在编辑城市页面上链接城市和街道。但是我不想使用标准的multiselect(select2)。我需要在编辑页面上显示所有街道的列表(在我的情况下,它们不会太多),并手动将街道与该城市关联。这可以是一个正常的复选框或类似的内容

我想列出可以轻松定制和扩展的项目。能够添加元素、图像的描述

我曾考虑在InlineFormField中作为一个选项,但可能只会在模型中添加一个条目,并且希望一次查看所有记录,只需单击记录即可从中进行选择


有人知道如何做到这一点吗?也许是通过编写自定义表单?

您可以通过覆盖create\u表单来填充通常的select2。这样,你的所有街道都会显示在字段中,你只需删除不需要的街道。你可以通过覆盖创建表单来填充通常的select2。这样,你就可以把你所有的街道都搬到田野里,你只需要把你不想要的那条移走