0

我正在使用 Flask-SQLAlchemy,并且我有一个包含各种表和关系的数据库。我希望用户能够在表中创建一个条目,例如(类别)编辑表中的条目并查看该表中的所有条目。

所以我有两个类Category和Revision。类别只有一个名称,而修订有一个名称和一个版本。

我要添加和编辑的代码是:

类别

def addCategory(name):
    cat = models.Category(name=name)
    db.session.add(cat)
    try:
        db.session.commit()
    except sqlalchemy.exc.IntegrityError:
        print "adding a row that violates the unique constraint"

修订

def addRevision(name, version):
    cat = models.Revision(name=name, version=version)
    db.session.add(cat)

    try:
        db.session.commit()
    except sqlalchemy.exc.IntegrityError:
        print "adding a row that violates the unique constraint"

类别

def editCategory(name, newName):
    cat = models.Category.query.filter_by(name=name).first()
    if cat:
        cat.name = newName
        db.session.add(cat)
        try:
            db.session.commit()
            return True
        except sqlalchemy.exc.IntegrityError:
            print "That Category already exists"
    return False

修订

def editRevision(name, version, newName, newVersion):
    rev = models.Revision.query.filter_by(name=name, version=version).first()
    if rev:
        rev.name = newName
        rev.version = newVersion
        db.session.add(rev)
        try:
            db.session.commit()
            return True
        except sqlalchemy.exc.IntegrityError:
            print "That Revision already exists"
    return False

我的模板也是如此。查看所有类别与查看所有修订非常相似。添加修订与添加类别类似。ETC

4

1 回答 1

1

可插入视图应该可以帮助您减少重复的代码。

于 2013-02-19T19:05:32.287 回答