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))
我有两个类User和Post。我想使用以下方法从Post class(ref)访问User类的元素:
User.objects.first().ref.title
错误:
AttributeError: 'NoneType' object has no attribute 'title'
我该怎么做?如何访问所有元素,而不仅仅是一个。预先感谢。
答案 0 :(得分:0)
我不相信您可以通过引用字段来做到这一点,您必须通过以下方式获取引用并找到对象:
Post.objects(id=User.objects().first().ref["id"]).first().title
虽然可以,如果您发布了一个User的EmbeddedDocument文件,并使用select_related调用User对象,例如:
User.objects().first().select_related(1).ref.title
或者您可以按照以下说明覆盖json解释: https://stackoverflow.com/a/23990828/493685