2017-10-23 5 views
0

フューエルプロジェクトでPeewee for MySQLの接続を使用しています。私はモデルのメソッドでクエリーを作ることが可能かどうかを知りたいです。PeeweeモデルのPythonでクエリメソッドを作成する

Person.py:

from peewee import * 

db = SqliteDatabase('people.db') 

class Person(Model): 
    name = CharField() 
    birthday = DateField() 
    is_relative = BooleanField() 

    class Meta: 
     database = db # This model uses the "people.db" database. 

    def getPersonByName(name): 
     #logic to get persons by name 
     #return result 

Server.py:

. 
. 
. 
@app.route('/<name>') 
def index(name): 
    persons = Person.getPersonByName(name) 
    return render_template('names.html', persons=persons) 

答えて

3

カスタム方法はを照会するためにモデルに追加することができることは、例えば、ルートコードクリーナーになるだろうモデルは太っていてスリムに見える。

class Person(Model): 
    ... 

    @classmethod 
    def get_person_by_name(cls, name): 
     result = cls.select().where(cls.name=name) 
     return result 


@app.route('/<name>') 
def index(name): 
    persons = Person.get_person_by_name(name) 
    return render_template('names.html', persons=persons) 
+0

ご返信ありがとうございます。それは動作します:D –

関連する問題