2017-03-14 3 views
0

Ich folge einem Tutorial über Flask Web Development. Ich versuche, eine Datenbank zu erstellen, und das ist, was ichDie Namen der Datenbanken werden nicht angezeigt

>>> Role.query.all() 
[<Role u'Administrator'>, <Role u'User'>] 
>>> User.query.all() 
[<User u'john'>, <User u'susan'>, <User u'david'>] 

bekommen sollte, aber wenn ich versuche, ich habe nicht die Namen, aber diese:

>>> Role.query.all() 
[<hello.Role object at 0x000001F135C1EBE0>, <hello.Role object at 0x000001F135C345F8>] 
>>> User.query.all() 
[<hello.User object at 0x000001F135C34C50>, <hello.User object at 0x000001F135C34CF8>, <hello.User object at 0x000001F135C34DA0>] 

Ich habe versucht, um das ganze Verfahren mehr zu machen, um zu überprüfen, ob ich etwas anderes als das Tutorial gemacht habe, aber das Ergebnis ist immer noch dasselbe. Weißt du, was die Ursache ist und wie kann ich es überwinden? Vielen Dank im Voraus für die Hilfe dieses Neulings.

+1

Ihre 'Role' Klasse fehlt die Methode' '__repr__' '(https://docs.python.org/3/reference/datamodel.html#object.__repr__). –

Antwort

0

In der Klasse, die Sie als Rolle oder Benutzer definieren, sollten Sie die Funktion __repr__ umschreiben.

class Role(db.Model): 
    __tablename__ = "roles" 
    id = db.Column(db.Integer, primary_key=True) 
    name = db.Column(db.String(128)) 

    # the name is the output result you want to get. 
    # so, in your class, you define it and in the under function, you also define it. 
    def __repr__(self): 
     return '<Role `{}`>'.format(self.name) 
+0

Im Tutorial war der Code dafür ''% self.name, Ich habe Ihre Version auch versucht, aber es funktioniert immer noch nicht. Danke trotzdem – Zemian

Verwandte Themen