【问题标题】:mongoengine Custom Field Namesmongoengine 自定义字段名称
【发布时间】:2011-12-23 08:00:03
【问题描述】:

我在monoengine中定义了一个文档类型如下:

from mongoengine import *

import datetime

class User(Document):
    username = StringField(min_length = 1, max_length = 20, regex = '(\w+)', required = True, unique = True)
    password = StringField(min_length = 5, required = True)
    email = EmailField(required = True, unique = True)
    name = StringField(min_length = 3, max_length = 40, required = True)
    date_created = DateTimeField(default = datetime.datetime.utcnow, required = True)

但是,当出现错误时,字段名是成员变量。对于某些字段,这对于用户来说会非常难看。例如,“date_created”实际上应该是“创建日期”。

所以,我试图找到一种方法来告诉 Mongoengine 使用“更好”的名称而不是成员变量名称,但我似乎找不到方法。我已经尝试过 name 和 verbose_name 但它们似乎没有做任何事情,而且我查看了文档,所以任何帮助将不胜感激。

【问题讨论】:

    标签: mongodb field mongoengine


    【解决方案1】:

    verbose_name 用于输出到前端用户,在呈现时由您输出verbose_name 而不是字段名称 - 例如在表单中。

    【讨论】:

    • 那么,我不能只打印出使用 verbose_name 代替的异常的内容吗?
    • 异常回溯通常供开发人员使用,而不是最终用户,因此模型对象属性名称更明确。您能否阐明您要实现的目标/您如何使用例外?
    • 目前,我正在向用户写出 str(exception),因为它似乎运行良好。但是,如果我无法更改 MongoEngine 生成的异常中的文本,那么我可以自己格式化。
    • Ok 目前无法在 github 上添加功能请求,我将进行评估。如果您可以添加一个测试来展示您当前所做的/期望发生的事情,那将很有帮助!
    猜你喜欢
    • 1970-01-01
    • 2014-06-13
    • 2011-02-01
    • 2016-02-05
    • 2019-01-01
    • 2017-03-15
    • 2020-09-09
    • 2012-05-30
    • 2016-03-18
    相关资源
    最近更新 更多