小编Car*_*ues的帖子

具有多对多关系的附加字段的 Flask-Admin

我有两个表:“产品”、“成分”和“产品成分”

class ProductIngredient(db.Model):
    __tablename__ = "product_ingredient"
    id = db.Column(db.Integer(), primary_key=True)
    product_id = db.Column('product_id', db.Integer, db.ForeignKey('product.id'))
    ingredient_id = db.Column('ingredient_id', db.Integer, db.ForeignKey('ingredient.id'))
    amount = db.Column(db.DECIMAL(10, 3))


class Ingredient(db.Model):
    __tablename__ = "ingredient"

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50))
    desc = db.Column(db.Text)


class Produto(db.Model):
    __tablename__ = "product"

    id = db.Column(db.Integer, primary_key=True)
    desc = db.Column(db.String(20))
    ingredients = db.relationship('Ingredient', secondary='product_ingredient', backref=db.backref('product', lazy='dynamic'))
Run Code Online (Sandbox Code Playgroud)

请注意,在 ProductIngredient 类中有一个数量字段,它将获取构成每个产品的每种成分的数量

在管理员中设置字段,我收到以下错误

class ProdMV(ModelView):
    column_display_pk = False
    form_columns = [Product.desc, Ingredient.name, ProductIngredient.amount]
    column_auto_select_related = True
    column_hide_backrefs = False


admin.add_view(ProdMV(Product, db.session))
Run Code Online (Sandbox Code Playgroud)

内置异常 …

python flask python-3.x flask-sqlalchemy flask-admin

4
推荐指数
1
解决办法
1917
查看次数