title: mongoengine - Use QuerySet as ReferenceField
body: <p>Based on this <a href="https://mongoengine-odm.readthedocs.org/en/latest/tutorial.html" rel="nofollow">tutorial</a>:</p>
  
  <pre><code>from mongoengine import *
  
  connect('tumblelog')
  
  class User(Document):
      email = StringField(required=True, unique=True)
      first_name = StringField(max_length=50)
      last_name = StringField(max_length=50)
  
  class Comment(EmbeddedDocument):
      content = StringField()
      name = StringField(max_length=120)
  
  class Post(Document):
      title = StringField(max_length=120, required=True)
      author = ReferenceField(User, reverse_delete_rule=CASCADE)
      tags = ListField(StringField(max_length=30))
      comments = ListField(EmbeddedDocumentField(Comment))
      meta = {'allow_inheritance': True}
  
  class TextPost(Post):
      content = StringField()
  
  class ImagePost(Post):
      image_path = StringField()
  
  class LinkPost(Post):
      link_url = StringField()
  
  
  def main():
      john = User(email='jdoe@example.com', first_name='John', last_name='Doe')
      john.save()
      john_from_db = User.objects(email='jdoe@example.com')
      post1 = TextPost(title='Fun with MongoEngine', author = john_from_db)
      post1.content = 'Took a look at MongoEngine today, looks pretty cool.'
      post1.tags = ['mongodb','mongoengine']
      post1.save()
  
  
  if __name__ == '__main__':
      main()
  </code></pre>
  
  <p>I get this error on post1.save():</p>
  
  <pre><code>mongoengine.base.ValidationError: ValidationError(A ReferenceField only accepts DBRef or documents: ['author'])
  </code></pre>
  
  <p>I tried adding the dbref=True/False option in the ReferenceField declaration but it didn't fix anything.  The object john is of type User, while john_from_db is a QuerySet.  Surely I'm missing something here, how do you get an object from the db and use it in another?</p>