gpt4 book ai didi

python - 如何从列表字段访问属性

转载 作者:太空宇宙 更新时间:2023-11-03 18:55:20 24 4
gpt4 key购买 nike

我正在使用 mongodb 和 Flask。我有以下模型:

class Post(db.Document):
properties = db.ListField(db.EmbeddedDocumentField('Properties'))


class Properties(db.EmbeddedDocument):
title = db.StringField(max_length=255, required=True)
types = db.StringField(max_length=255, required=True)
location_name = db.StringField(max_length=255, required=True)
url = db.StringField(max_length=255, required=True)
feed_url = db.StringField(max_length=255, required=True)
content_url = db.StringField(max_length=255, required=True)
date_added = db.StringField(max_length=255, required=True)
date_crawled = db.StringField(max_length=255, required=True)

当我执行Post.properties时,我会返回一个列表字段。我想知道是否有人知道如何访问属性类中的 url 属性。最好我想获取properties.url 相等的列表字段,例如“abc”

我尝试了 Post.properties.url 并且收到以下错误

AttributeError: 'ListField' object has no attribute 'url'

非常感谢

最佳答案

Post.properties 具有 ListField 类型。因此,对于 Post 实例 properties 具有 list 类型。

首先,您必须获取 Post 实例(而不是类):

post_1 = Post.objects.first()  # get first from database
post_2 = Post().save() # create and save

使用 Post 实例,您可以通过索引获取属性:

post = Post.objects.first()
print post.properties[0].url if post.properties else None

但更好地迭代属性:

post = Post.objects.first()
for property in post.properties:
print property.url

另请参阅mongoengine tutorialuser guide .

关于python - 如何从列表字段访问属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17389240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com