Как добавить поиск через колбу mongoengine? - PullRequest
0 голосов
/ 07 декабря 2018

Я новичок в колбе.Теперь я пытаюсь добавить форму поиска для запроса базы данных и отображения результатов поиска под ней.И он надеется реализовать запрос через имена полей mongoengine.Если есть проблема с моим подходом, можете ли вы предложить другую идею?Спасибо!

views.py

@main.route("/strategy/search", methods=['GET', 'POST'])
def search():
    key=request.values.get("key")
    refer=request.values.get("refer")
    if(key=="_id"):
       query = Article.objects({refer:ObjectId(key)})
    else:
       query = Article.objects.get(refer=key)
    return render_template('strategy/search.html',query=query)

templates / index.html

<form action="/admin/search"    method="GET" >
  <table class="none" id="close">
    <tr>
    <td></td><td></td>
    <td><select name="refer" required>
        <option value="title">title</option>
        <option value="content">content</option>
        <option value="date">date</option>
    </select></td>
    <td><input type="text" name="key" placeholder="Search Task" size="15" /></td>
    <td><button type="submit">Search</button></td>
    </tr>
  </table>
</form>

models.py

class Article(db.Document):
     title = db.StringField(required=True, max_lenght=64)
     content = db.StringField(required=True)
     date = db.DateTimeField(default=datetime.now())

Я получаюошибка после запуска кода:

mongoengine.errors.InvalidQueryError
mongoengine.errors.InvalidQueryError: Cannot resolve field "refer"
...