Flask-SQLAlchemy Check if row exists









up vote
0
down vote

favorite












I have already looked at this SO question, so far it has not helped.



So I am trying to check if a row exists in a table with Flask-SQLAlchemy, and so far nothing has helped.



My current code:



@app.route('/guilds/<guildid>')
def guildsettings(guildid):
discord = make_session(token=session.get('oauth2_token'))
user = discord.get(API_BASE_URL + '/users/@me').json()
guilds = discord.get(API_BASE_URL + '/users/@me/guilds').json()
row = Settings.query.all()
exists = Settings.query.filter_by(db.exists().where(Settings.guildid==guildid)).scalar()
print(exists)
if exists == True:
info = Settings.query.filter_by(guildid=guildid).first()
return render_template("guild.html", id=guildid, guilds=guilds, User=user, prefix=info.prefix, logschannel=info.logschannel, modrole=info.modrole, adminrole=info.adminrole, welcomechannel=info.welcomechannel, welcomemessage=info.welcomemessage, dadbot=info.dadbot, music=info.music, funcmds=info.funcmds, weather=info.weather, wapikey=info.wapikey)
else:
return render_template("notinserver.html", guildid=guildid, link="https://discordapp.com/api/oauth2/authorize?client_id=xxxxxx&permissions=8&redirect_uri=xxxxxxx%2Fme&scope=bot&guild_id=".format(guildid))


I am not sure on what to do now. Any help is appreciated.










share|improve this question





















  • what is happening with your code? Why is it not working?
    – Florian H
    Nov 8 at 15:27















up vote
0
down vote

favorite












I have already looked at this SO question, so far it has not helped.



So I am trying to check if a row exists in a table with Flask-SQLAlchemy, and so far nothing has helped.



My current code:



@app.route('/guilds/<guildid>')
def guildsettings(guildid):
discord = make_session(token=session.get('oauth2_token'))
user = discord.get(API_BASE_URL + '/users/@me').json()
guilds = discord.get(API_BASE_URL + '/users/@me/guilds').json()
row = Settings.query.all()
exists = Settings.query.filter_by(db.exists().where(Settings.guildid==guildid)).scalar()
print(exists)
if exists == True:
info = Settings.query.filter_by(guildid=guildid).first()
return render_template("guild.html", id=guildid, guilds=guilds, User=user, prefix=info.prefix, logschannel=info.logschannel, modrole=info.modrole, adminrole=info.adminrole, welcomechannel=info.welcomechannel, welcomemessage=info.welcomemessage, dadbot=info.dadbot, music=info.music, funcmds=info.funcmds, weather=info.weather, wapikey=info.wapikey)
else:
return render_template("notinserver.html", guildid=guildid, link="https://discordapp.com/api/oauth2/authorize?client_id=xxxxxx&permissions=8&redirect_uri=xxxxxxx%2Fme&scope=bot&guild_id=".format(guildid))


I am not sure on what to do now. Any help is appreciated.










share|improve this question





















  • what is happening with your code? Why is it not working?
    – Florian H
    Nov 8 at 15:27













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I have already looked at this SO question, so far it has not helped.



So I am trying to check if a row exists in a table with Flask-SQLAlchemy, and so far nothing has helped.



My current code:



@app.route('/guilds/<guildid>')
def guildsettings(guildid):
discord = make_session(token=session.get('oauth2_token'))
user = discord.get(API_BASE_URL + '/users/@me').json()
guilds = discord.get(API_BASE_URL + '/users/@me/guilds').json()
row = Settings.query.all()
exists = Settings.query.filter_by(db.exists().where(Settings.guildid==guildid)).scalar()
print(exists)
if exists == True:
info = Settings.query.filter_by(guildid=guildid).first()
return render_template("guild.html", id=guildid, guilds=guilds, User=user, prefix=info.prefix, logschannel=info.logschannel, modrole=info.modrole, adminrole=info.adminrole, welcomechannel=info.welcomechannel, welcomemessage=info.welcomemessage, dadbot=info.dadbot, music=info.music, funcmds=info.funcmds, weather=info.weather, wapikey=info.wapikey)
else:
return render_template("notinserver.html", guildid=guildid, link="https://discordapp.com/api/oauth2/authorize?client_id=xxxxxx&permissions=8&redirect_uri=xxxxxxx%2Fme&scope=bot&guild_id=".format(guildid))


I am not sure on what to do now. Any help is appreciated.










share|improve this question













I have already looked at this SO question, so far it has not helped.



So I am trying to check if a row exists in a table with Flask-SQLAlchemy, and so far nothing has helped.



My current code:



@app.route('/guilds/<guildid>')
def guildsettings(guildid):
discord = make_session(token=session.get('oauth2_token'))
user = discord.get(API_BASE_URL + '/users/@me').json()
guilds = discord.get(API_BASE_URL + '/users/@me/guilds').json()
row = Settings.query.all()
exists = Settings.query.filter_by(db.exists().where(Settings.guildid==guildid)).scalar()
print(exists)
if exists == True:
info = Settings.query.filter_by(guildid=guildid).first()
return render_template("guild.html", id=guildid, guilds=guilds, User=user, prefix=info.prefix, logschannel=info.logschannel, modrole=info.modrole, adminrole=info.adminrole, welcomechannel=info.welcomechannel, welcomemessage=info.welcomemessage, dadbot=info.dadbot, music=info.music, funcmds=info.funcmds, weather=info.weather, wapikey=info.wapikey)
else:
return render_template("notinserver.html", guildid=guildid, link="https://discordapp.com/api/oauth2/authorize?client_id=xxxxxx&permissions=8&redirect_uri=xxxxxxx%2Fme&scope=bot&guild_id=".format(guildid))


I am not sure on what to do now. Any help is appreciated.







python python-3.x flask flask-sqlalchemy






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 8 at 15:10









CoderByDay

208




208











  • what is happening with your code? Why is it not working?
    – Florian H
    Nov 8 at 15:27

















  • what is happening with your code? Why is it not working?
    – Florian H
    Nov 8 at 15:27
















what is happening with your code? Why is it not working?
– Florian H
Nov 8 at 15:27





what is happening with your code? Why is it not working?
– Florian H
Nov 8 at 15:27













1 Answer
1






active

oldest

votes

















up vote
1
down vote



accepted










If it needs to be excactly one result:



try:
Settings.query.filter_by(db.exists().where(Settings.guildid==guildid)).one()
except sqlalchemy.orm.exc.NoResultFound:
return False
except sqlalchemy.orm.exc.MultipleResultsFound:
#do what ever you want to do if there is more than one result
return True





share|improve this answer




















  • I need it to check if the row with the specific guildid exists. If it doesn't then it should redirect to the link. If it does, it should render the guild.html template.
    – CoderByDay
    Nov 8 at 15:54










  • just replace flase/true with redirect/render. did it work or do you still need help?
    – Florian H
    Nov 9 at 7:23










Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53210580%2fflask-sqlalchemy-check-if-row-exists%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
1
down vote



accepted










If it needs to be excactly one result:



try:
Settings.query.filter_by(db.exists().where(Settings.guildid==guildid)).one()
except sqlalchemy.orm.exc.NoResultFound:
return False
except sqlalchemy.orm.exc.MultipleResultsFound:
#do what ever you want to do if there is more than one result
return True





share|improve this answer




















  • I need it to check if the row with the specific guildid exists. If it doesn't then it should redirect to the link. If it does, it should render the guild.html template.
    – CoderByDay
    Nov 8 at 15:54










  • just replace flase/true with redirect/render. did it work or do you still need help?
    – Florian H
    Nov 9 at 7:23














up vote
1
down vote



accepted










If it needs to be excactly one result:



try:
Settings.query.filter_by(db.exists().where(Settings.guildid==guildid)).one()
except sqlalchemy.orm.exc.NoResultFound:
return False
except sqlalchemy.orm.exc.MultipleResultsFound:
#do what ever you want to do if there is more than one result
return True





share|improve this answer




















  • I need it to check if the row with the specific guildid exists. If it doesn't then it should redirect to the link. If it does, it should render the guild.html template.
    – CoderByDay
    Nov 8 at 15:54










  • just replace flase/true with redirect/render. did it work or do you still need help?
    – Florian H
    Nov 9 at 7:23












up vote
1
down vote



accepted







up vote
1
down vote



accepted






If it needs to be excactly one result:



try:
Settings.query.filter_by(db.exists().where(Settings.guildid==guildid)).one()
except sqlalchemy.orm.exc.NoResultFound:
return False
except sqlalchemy.orm.exc.MultipleResultsFound:
#do what ever you want to do if there is more than one result
return True





share|improve this answer












If it needs to be excactly one result:



try:
Settings.query.filter_by(db.exists().where(Settings.guildid==guildid)).one()
except sqlalchemy.orm.exc.NoResultFound:
return False
except sqlalchemy.orm.exc.MultipleResultsFound:
#do what ever you want to do if there is more than one result
return True






share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 8 at 15:33









Florian H

780211




780211











  • I need it to check if the row with the specific guildid exists. If it doesn't then it should redirect to the link. If it does, it should render the guild.html template.
    – CoderByDay
    Nov 8 at 15:54










  • just replace flase/true with redirect/render. did it work or do you still need help?
    – Florian H
    Nov 9 at 7:23
















  • I need it to check if the row with the specific guildid exists. If it doesn't then it should redirect to the link. If it does, it should render the guild.html template.
    – CoderByDay
    Nov 8 at 15:54










  • just replace flase/true with redirect/render. did it work or do you still need help?
    – Florian H
    Nov 9 at 7:23















I need it to check if the row with the specific guildid exists. If it doesn't then it should redirect to the link. If it does, it should render the guild.html template.
– CoderByDay
Nov 8 at 15:54




I need it to check if the row with the specific guildid exists. If it doesn't then it should redirect to the link. If it does, it should render the guild.html template.
– CoderByDay
Nov 8 at 15:54












just replace flase/true with redirect/render. did it work or do you still need help?
– Florian H
Nov 9 at 7:23




just replace flase/true with redirect/render. did it work or do you still need help?
– Florian H
Nov 9 at 7:23

















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53210580%2fflask-sqlalchemy-check-if-row-exists%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

Edmonton

Crossroads (UK TV series)