我试图在hybrid_property中使用可编辑的flask-admin字段,但是它们不会出现在create或editable中。不过,它们确实会出现在列表视图中。我尝试过设置ignore_hidden=False,但这不起作用。我做错了什么?
class TestTable(db.Model):
__tablename__ = "test_table"
id = db.Column(db.Integer, primary_key=True)
_test_column = db.Column(db.String)
@hybrid_property
def test_column(self):
return self._test_column
@test_column.setter
def test_column(self, test_column):
self._test_column = test_column
class TestModelView(ModelView):
ignore_hidden = False
admin = Admin(app, name="TestHybrid")
admin.add_view(TestModelView(TestTable, db.session))发布于 2019-09-10 16:57:51
可以通过向form_extra_fields添加test_column使其可编辑,如下所示:
from wtforms.fields import StringField
class TestModelView(ModelView):
form_extra_fields = {
'test_column': StringField('test_column')
}在管理面板中保存一个值为“test1”的测试后:
>>> TestTable.query.all()[-1]._test_column
'test1'
>>> TestTable.query.all()[-1].test_column
'test1'test_column字段在编辑和创建视图中可见。
https://stackoverflow.com/questions/57874708
复制相似问题