仅在数据库中追加新项

2024-09-27 04:24:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为classes的表 其中包含字段:

course name
times_mentioned

所以我想做的是。首先将course_name和{}设置为空。 但是,当一个用户在我的网站上选择了一个类,我只想附加这个类名,并继续为一个特定的类添加+1到times_mentioned。在

这就是我目前所拥有的

class popular_courses(db.Model):
    id = db.Column(db.Integer,primary_key=True)
    name = db.Column(db.String(80), unique=True, default=None)
    times_mentioned =db.Column(db.String(80), default=None, unique=True)
    def __repr__(self):
        return '<Popular Courses %r>' % (self.name) 

@app.route('/add/<coursename>')
def AddCourseName(coursename):
    addPopularCourse = popular_courses(name=coursename, times_mentioned=##DONT KNOW THE SYNTAX)

所以我想要类名,每次用户访问/添加URL时添加+1。我该怎么做?我也不知道它的语法。在

在@应用程序路径('/add/')

^{pr2}$

这是有效的方法吗?在


Tags: 用户nametruedefaultdbstringcolumnunique
1条回答
网友
1楼 · 发布于 2024-09-27 04:24:49

1-将times_mentioned的类型更改为integer

2-使用countfunc检查实例是否存在,如果存在,请增加counter,否则创建一个新实例

def AddCourseName(coursename):
    if db.session.query(popular_courses.id).filter(popular_courses.nam‌​e==coursename).count‌​() > 0:
        course = popular_courses.query.filter_by(name=coursename).first()
        course.name = coursename
        course.times_mentioned += 1
        db.session.commit()
        return "increased by 1! "
    else:
        addPopularCourse = popular_courses(name=coursename, times_mentioned=1)
        db.session.add(addPopularCourse)
        db.session.commit()
        return "added! " +  coursename + " to db"

相关问题 更多 >

    热门问题