2017-01-09 1 views
0

Während jemand den Code in Python/Flask zu lesen, kam ich über die Linie:Page.query.filter (Page.url.contains (url)) Funktionsdefinition?

results = Page.query.filter(Page.url.contains(url)) 

ich gesucht habe es aber eine befriedigende Antwort nicht erhalten können. Was tun die Funktionen query.filter und url.contains genau und welche Werte geben sie unter verschiedenen Bedingungen zurück, wenn keine Übereinstimmungen oder mehrere Übereinstimmungen existieren oder die Tabelle nicht existiert? Ist Seite der Name der Tabelle oder nur der Name der Klasse?

Edit: Funktion, in der die Leitung verwendet wird

@pages.route('/<url>/', methods=('GET', 'POST')) 
def url_view(url): 
    from app import get_locale 
    page = DataGetter.get_page_by_url('/' + url, get_locale()) 
    return render_template('gentelella/guest/page.html', page=page) 

def get_page_by_url(url, selected_language=False): 
     if selected_language: 
      results = Page.query.filter_by(language=selected_language).filter(Page.url.contains(url)) 
     else: 
      results = Page.query.filter(Page.url.contains(url)) 
     if results: 
      return results.first() 
     return results 
+0

Wo sind Sie auf diesen Code gestoßen? Kannst du uns mehr Kontext geben? –

+0

Ich arbeite an dem Open-Source-Projekt eines Event-Management-Systems. Der Code ist ein Teil der Funktion, die prüft, ob URL existiert oder nicht und gibt die 404-Fehlerseite entsprechend zurück. – Arpit

+0

OK, also wenn es Open Source ist, dann ist es kein Geheimnis. Welches Open-Source-Projekt? Welche Datei? Welche Funktion? usw. ... Danke. –

Antwort

0

Ich glaube, Sie brauchen ein bisschen mehr Forschung auf eigene Faust zu tun, aber für den Anfang dieses wie ein Flask-SQLAlchemy Projekt sieht die ein Flask ist um die SQLAlchemy-Bibliothek. Die Dokumentation, die Sie lesen müssen, ist meistens in SQLAlchemy und Flask-SQLAlchemy.

Page scheint eine ORM-Zuordnung einer Datenbanktabelle zu sein. Die filter/filter_bymethods kapselt die SQL SELECT Funktionalität. Die containsmethod kapselt die SQL LIKE %<OTHER>% Funktionalität.

Verwandte Themen