如何在mongoengine上添加ListField的属性

时间:2012-08-25 10:46:48

标签: django mongoengine

我使用的是mongoengine,非常喜欢它 现在我用django工作了,我遇到了问题 如何设置ListField的属性
例如 这是我的模特

class Bussiness(Document):
    tags = ListField(StringField())

我希望在模板上使用它:

{% for tag on bussiness.tags %}
    {{ tag.url }}
{% endfor %}

tag.url我不想将其保存到数据库,只希望在模型级别生成,并且只在数据库上创建一些字符串。
如果我在模板上硬编码,我必须在任何地方写它,这是我厌恶。

1 个答案:

答案 0 :(得分:0)

这不会起作用,因为标签只是一个字符串(你将它定义为StringField)。

您可以将标记作为嵌入文档,其中url是属性,例如:

class Tag(EmbeddedDocument):
    name = StringField()

    @property
    def url(self):
        return "http://my-ace-site.come/businesses/%s/"

class Business(Document):
    tags = ListField(StringField())