如何在 Flask-Admin 中显示参考字段的实际字段?
Posted
技术标签:
【中文标题】如何在 Flask-Admin 中显示参考字段的实际字段?【英文标题】:How to Show Actual Field of Reference Field in Flask-Admin? 【发布时间】:2020-08-03 12:38:27 【问题描述】:我目前正在使用 mongoengine 设置 Flask-Admin,当呈现作为 ReferenceFields 以及 Embedded 字段的模型列时,我将返回这些字段的“ObjectType Object”。
例如,我有这些模型
class Customer(db.Document):
name = db.StringField()
class Item(db.EmbeddedDocument):
name = db.StringField()
class Order(db.DynamicDocument):
customer = db.ReferenceField('Customer')
items = db.ListField(db.EmbeddedDocumentField(Item))
total = db.IntField()
但是当这个模型被这个视图渲染时:
class OrderView(ModelView):
column_list = ['id', 'customer', 'total', 'items']
我要拿回这张桌子:
如何让“客户对象”呈现为有用的东西,例如 Customer.Id 或 Customer.name,以及 Order.items 字段相同的内容?
【问题讨论】:
【参考方案1】:我遇到了同样的问题,但最终找到了解决方案。
当您为模型定义类时(稍后将引用该类),您应该重写 str() 方法并请求此类的字符串表示为任意你想要的字段。
class Customer(db.Document):
name = db.StringField()
def __str__(self):
return self.name
【讨论】:
以上是关于如何在 Flask-Admin 中显示参考字段的实际字段?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Flask-Admin 中的某些字段动态替换为 Select2?
在 Flask-Admin 中替换 Jquery Select2?