Reputation: 1736
I am inserting data in flask but I am not able to fetch the last inserted id
mdeals = Deals(
merchand_id = session['userid'],
deal_name=request.form['dealname'],
deal_desc=request.form['dealdescription'],
.
.
.
)
mdeals.save()
My model is :
class Deals(db.Model):
__tablename__ = 'deals'
dealid = db.Column('id', Integer, primary_key=False)
deal_name = db.Column('deal_name', String(50), unique=False)
deal_desc = db.Column(db.Text, unique=False)
deal_price = db.Column('deal_price', String(50), unique=False)
deal_savings = db.Column(db.Float, unique=False)
deal_qty = db.Column(db.Integer(), unique=False)
start_time = db.Column(db.DateTime, unique=False)
end_time = db.Column(db.DateTime, unique=False)
created_on = db.Column(db.DateTime, unique=False)
updated_on = db.Column(db.DateTime, unique=False)
merchand_id = db.Column(db.Integer(), db.ForeignKey(Merchant.id))
merchand = db.relationship(Merchant , backref='posts')
def __init__(self, deal_name=None,deal_price=None ):
self.deal_name = deal_name
self.deal_desc = deal_price
But when I am try to fetch like mdeals.id
then it gives me None
and If i try to fetch mdeals.dealid
then it gives the error AttributeError: 'Deals' object has no attribute 'dealid',
I am very confused, how can I get this last inserted id ?
Thanks
Upvotes: 1
Views: 2808
Reputation: 449
from yourapp import Deals
de = Deals(merchand_id = session['userid'],
deal_name=request.form['dealname'],
deal_desc=request.form['dealdescription']...)
db.session.add(de)
db.session.commit()
and after that you can see the id
print de.dealid
Upvotes: 1