class User(db.Document):
email = db.StringField(required=True)
first_name = db.StringField(max_length=50)
ref = db.ReferenceField('Post')
class Post(db.Document):
title = db.StringField(max_length=120, required=True)
tags = db.ListField(db.StringField(max_length=30))
我有两个类用户和帖子。我想使用以下方法从 Post 类(ref) 访问用户类的元素:
User.objects.first().ref.title
错误:
AttributeError: 'NoneType' object has no attribute 'title'
我该怎么做?如何访问所有元素,而不仅仅是一个元素。提前谢谢。
我不相信你可以用引用字段做到这一点,你必须接受引用并通过以下方式找到对象:
Post.objects(id=User.objects().first().ref["id"]).first().title
但是,如果您将 Post 设置为用户的嵌入式文档,并且使用如下select_related调用 User 对象,则可以
:User.objects().first().select_related(1).ref.title
或者,您可以覆盖 json 解释,如下所述:https://stackoverflow.com/a/23990828/493685