【问题标题】:What is the correct way to use flask-mongoengine field kwargs?使用flask-mongoengine field kwargs的正确方法是什么?
【发布时间】:2016-02-09 23:16:53
【问题描述】:

我想在我的 Python 模型中定义 MongoEngine 字段时设置一个附加参数(“order”),然后我可以在我的视图中访问它。

注意:“order”是自定义参数; MongoEngine 文档指出可以添加 kwargs。

我试过了:

class Tasks(Document):
    complete = BooleanField(default=False, **{'order':0})
    task = StringField(max_length=128)

遇到的错误是:

File ".../flask_mongoengine/wtf/base.py", line 23, in __init__
    BaseField.__init__(self, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'order'

我在 MongoEngine 文档中搜索了示例,但无济于事。我也一直在阅读如何在 Python 中使用 **kwargs,但不了解如何应用。

您能否提供一个示例,说明如何在 BaseField 中包含其他参数?

【问题讨论】:

  • 该字段除了关键字参数'order'之外没有。你到底想用这个论点归档什么?
  • 另外,order=0 将与**{'order':0} 做同样的事情
  • 正确:order=0 与 **{'order':0};我的问题是如何在定义字段时传递 kwargs。我不确定这是否是语法问题,或者我是否必须稍后在我的代码中初始化自定义参数以便它们在字段中可用。

标签: python flask mongoengine keyword-argument flask-mongoengine


【解决方案1】:

根据 mongoengine 文档的field description,它不提供order 参数。

【讨论】:

  • 正确。 “order”是自定义参数; MongoEngine 文档指出可以添加 kwargs。
  • @user1911075 kwargs虽然可以添加自定义参数,但不确定类是否可以处理参数。
  • @user1911075 如果您提供自定义参数描述更好,也许mongoengine还有其他功能可以满足您。
猜你喜欢
  • 2010-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-24
  • 2021-09-23
  • 2017-04-07
  • 2013-01-09
  • 2013-03-19
相关资源
最近更新 更多