我使用带有 postgres 关系数据库的金字塔 SQLalchemy 开发了应用程序。我想检查行是否在表中。所以我尝试了以下步骤
def nextPage(request):
query = request.dbsession.query(NewEntry)
msheet_no = request.params['msheet_no']
obj1=NewEntry()
getRoll=query.filter(NewEntry.batch==batch).order_by(-NewEntry.roll_no).first()
rollno=getRoll.roll_no+1
obj1.roll_no = rollno
if(obj1.msheet_no==msheet_no):
print("Marksheet No is already existed",obj1.msheet_no,'-',msheet_no)
else:
request.dbsession.add(obj1)
在此代码中,重复项msheet_no被插入到表中。如何避免重复msheet_no被插入到表中?
注意:msheet_noandrollno是表中的主键