Darstellungsformat in der web2py-Datenbank

8
  
    
      

db.define_table ('Person', Feld ('Name'), Format = '% (Name) s')

    
  

Was macht dieses Format hier?

    
Jensen 05.01.2012, 15:19
quelle

1 Antwort

10

Das Argument format wird verwendet, um zu bestimmen, wie Felder in anderen Tabellen angezeigt werden, die auf die Tabelle 'person' verweisen. Zum Beispiel, wenn Sie definieren:

%Vor%

Das Feld "Besitzer" ist ein Referenzfeld, das auf die Tabelle "Person" verweist (d. h. es speichert die Datensatz-IDs der Datensätze aus der Tabelle "Person"). In den meisten Fällen, wenn Sie Daten aus der Tabelle 'Hund' anzeigen, möchten Sie nicht die rohe db.person-Datensatz-ID anzeigen, die im Feld 'Besitzer' gespeichert ist, da dies keine Bedeutung hat. Es macht mehr Sinn, den 'Namen' der Person anzuzeigen. In web2py aktiviert das format -Attribut der Tabelle diese automatische Ersetzung in Formularen und Tabellen.

Wenn Sie eine SQLFORM basierend auf der Tabelle 'Hund' erstellen, wird automatisch eine Dropdown-Liste für das Feld 'Besitzer' generiert, und wegen des Arguments format='%(name)s' für die Tabellendefinition 'Person' die Ablage In der Dropdown-Liste werden db.person-Namen anstelle von Datensatz-IDs angezeigt (obwohl beim Senden des Formulars das Feld "owner" die zugehörige Datensatz-ID anstelle des Namens speichert).

Wenn Sie Datensätze aus der Tabelle 'Hund' in einer SQLTABLE- oder SQLFORM.grid-Datei anzeigen, zeigt das Feld 'Besitzer' außerdem den Namen des Besitzers und nicht die Datensatz-ID des Besitzers an.

Siehe Ссылка .

    
Anthony 05.01.2012, 16:29
quelle

Tags und Links