Inforian
Inforian

Reputation: 1736

Issues in fetching last inserted id in flask

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

Answers (1)

Pirata21
Pirata21

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

Related Questions