python - SQLAlchemy: Populate instance attributes from Database query -



python - SQLAlchemy: Populate instance attributes from Database query -

i'm using sqlalchemy below user model track users on site. i'm trying __init__ method populate of fields in class instance 1 time it's passed valid user id, doesn't work it's supposed to.

here's code:

class user(db.model): # fields id = db.column(db.integer, primary_key=true) name = db.column(db.string(32)) email = db.column(db.string(255), index=true) # methods def __init__(self, id): # populate fields u = user.query.filter_by(id=id).first() # fill in name, email fields result self = u # <-- not working expected # ...

the problem attributes not getting populated.

u = user(1) u.id, u.name, u.email # <-- output: none

how can auto-populate class attributes user id without having set them 1 one?

note: i've removed validation bits above code avoid clutter note2: i'm beginner in sqlalchemy, , started using python.

for particular case can utilize get gets row primary key:

u = user.get(1) u.id, u.name, u.email

the problem code you're trying utilize bound method, worse, constructor (in assigning self nil @ all) existing, different instance.

i'll show reimplementation of get method can reuse other cases.

class user(db.model): # ... @classmethod def get_by_id(cls, id): homecoming cls.query.filter_by(id=id).one() u = user.get_by_id(1)

python sqlalchemy flask-sqlalchemy

Comments

Popular posts from this blog

php - Android app custom user registration and login with cookie using facebook sdk -

django - Access session in user model .save() -

php - .htaccess Multiple Rewrite Rules / Prioritizing -