Я пытаюсь создать класс, который будет добавлять данные из формы в db.model, но моя проблема в том, что когда я попытаюсь добавить существующую книгу, я хочу обновить копии, а не добавлять новый объект , Я действительно пытаюсь найти ответ, я читаю книги по программированию в GAE, но я ничего не нахожу для своей проблемы.
Заранее спасибо, и я буду очень признателен, если кто-то ответит с помощью примера кода, а не только с помощью команды (например, попробуйте get_by_id ()).
Вот часть моего источника
class Book(db.Model):
book_id = db.IntegerProperty()
title = db.StringProperty()
author = db.StringProperty()
copies = db.IntegerProperty()
isbn = db.IntegerProperty()
copyright_date = db.StringProperty()
category = db.StringProperty()
comments = db.StringProperty()
class Add(webapp.RequestHandler): #Form to input data
def get(self):
self.response.out.write("""
<html>
<body>
<form action="/sign" method="post">
<table border="0">
<tr>
<td>ISBN:</td> <td><input type="text" name="isbn"</td>
</tr>
<tr>
<td>Title:</td> <td><input type="text" name="title"</td>
</tr>
<tr>
<td>Author:</td> <td><input type="text" name="author"</td>
</tr>
<tr>
<td>Copies:</td> <td><input type="text" name="copies"</td>
</tr>
<tr>
<td>Copyright Date:</td> <td><input type="text" name="copyright_date"</td>
</tr>
<tr>
<td><div>Category:</td> <td><select>
<option name="category" value="adventure">Adventure</option>
<option name="category" value="comedy">Comedy</option>
<option name="category" value="dramatic">Dramatic</option>
<option name="category" value="mystery">Mystery</option>
<option name="category" value="science_fiction">Science Fiction</option></select></td>
</tr>
<tr><td>Comments:</td></tr></table>
<div><textarea name="comments" rows="5" cols="40" value="Add your comments here"></textarea></div>
<div><input type="submit" value="Add Book">
<input type="reset" value="Reset"></div>
</form>
</body>
</html>""")
class Guestbook(webapp.RequestHandler):
def post(self):
book = Book()
book.isbn = int(self.request.get('isbn'))
book.title = self.request.get('title')
book.author = self.request.get('author')
book.category = self.request.get('category')
book.copies = int(self.request.get('copies'))
book.copyright_date = self.request.get('copyright_date')
book.put()
class Stock(webapp.RequestHandler):
def get(self): #Retrieve all data from DataBase (Here is the StockHouse)
Book = db.GqlQuery("SELECT * FROM Book ")
for book in Book:
print book.book_id, book.isbn, book.title, book.author, book.category, book.copyright_date, book.copies, book.comments