示例#1
0
def insert_action(request):
    #try:

    inputed_isbn = request.POST['br-input-isbn']
    inputed_bcover = request.POST['br-input-bcover']
    inputed_bname = request.POST['br-input-bname']
    inputed_author = request.POST['br-input-author']
    inputed_translator = request.POST['br-input-translator']
    inputed_publisher = request.POST['br-input-publisher']
    inputed_byear = request.POST['br-input-byear']
    inputed_pagination = request.POST['br-input-pagination']
    inputed_price = request.POST['br-input-price']
    inputed_insertednum = request.POST['br-input-insertednum']

    try:
        book=Book.objects.get(isbn=inputed_isbn)

        book.bname=B(inputed_bname)
        book.author=B(inputed_author)
        book.translator=B(inputed_translator)
        book.byear=B(inputed_byear)
        book.pagination=int(inputed_pagination)
        book.price=float(inputed_price)
        # TODO : 封面应该下载到本地储存或SAE storage
        book.bcover=B(inputed_bcover)
        book.publisher=B(inputed_publisher)
        book.totalnum=book.totalnum+int(inputed_insertednum)
        book.available=book.available+int(inputed_insertednum)

        book.save()

        return HttpResponseRedirect("/success/insert")

    except Book.DoesNotExist:
        book=Book(
            isbn=B(inputed_isbn),
            bname=B(inputed_bname),
            author=B(inputed_author),
            translator=B(inputed_translator),
            byear=B(inputed_byear),
            pagination = 0,
            price=float(inputed_price),
            # TODO : 封面应该下载到本地储存或SAE storage
            bcover=B(inputed_bcover),
            publisher=B(inputed_publisher),
            totalnum=int(inputed_insertednum),
            available=int(inputed_insertednum),
            )
        if(inputed_pagination!=''):
            book.pagination=int(inputed_pagination)

        book.save()
        return HttpResponseRedirect("/success/insert")
    except Book.MultipleObjectsReturned as e: #isbn不唯一
        #TODO:其实这里新建一条记录可能比较好
        raise Exception(Book.STATIC_BOOKS_WITH_SAME_ISBN+unicode(e))
    """