Как проверить дубликаты данных в моем хранилище данных и отобразить ошибку?

Я работаю над хранилищем данных GAE, GAE и питоном.

Это мой dbmodel.py,

class Customer(db.Model): name = db.StringProperty(required=True) phone = db.PhoneNumberProperty(required=True) email = db.EmailProperty(required=True) 

это мой main.py,

 class AddCustomerHandler(BaseHandler): def get(self): template = jinja_environment.get_template('template/addcustomer.html') self.response.out.write(template.render(template_values)) def post(self): input_fullname=self.request.get('fullname') input_phone=self.request.get('phone') input_email=self.request.get('email') newcustomer=Customer(name=input_fullname,phone=input_phone,email=input_email) self.redirect('/addcustomer') 

Магазин данных работает нормально. Я хочу проверить newcustomer данных newcustomer или не на основе полного имени. если его уже введенные данные не позволяют сохранять и отображать сообщение об ошибке. Как я могу это сделать?

One Solution collect form web for “Как проверить дубликаты данных в моем хранилище данных и отобразить ошибку?”

В webapp2 есть хорошая уникальная модель:

Например, предположим, что у нас есть модель User с тремя свойствами, которые должны быть уникальными в данной группе: username , auth_id и email ::

 class User(model.Model): username = model.StringProperty(required=True) auth_id = model.StringProperty(required=True) email = model.StringProperty(required=True) 

Чтобы обеспечить уникальность свойств при создании нового User , мы сначала создаем Unique записи для этих свойств, и если все будет хорошо, мы сможем сохранить новую запись User ::

 @classmethod def create_user(cls, username, auth_id, email): # Assemble the unique values for a given class and attribute scope. uniques = [ 'User.username.%s' % username, 'User.auth_id.%s' % auth_id, 'User.email.%s' % email, ] # Create the unique username, auth_id and email. success, existing = Unique.create_multi(uniques) if success: # The unique values were created, so we can save the user. user = User(username=username, auth_id=auth_id, email=email) user.put() return user else: # At least one of the values is not unique. # Make a list of the property names that failed. props = [name.split('.', 2)[1] for name in uniques] raise ValueError('Properties %r are not unique.' % props) 

Это единственный способ проверить транзакцию на уникальность.

https://webapp-improved.appspot.com/_modules/webapp2_extras/appengine/auth/models.html#Unique

  • Загрузочные поля Нечетные взгляды
  • Как я могу использовать Bootstrap с Django?
  • Использование bootstrap и django
  • Сайт Twitter Bootstrap, развернутый с помощью GAE
  • Использование переключателей Twitter для Bootstrap с Flask
  • Загрузка статического проекта в движки Google
  •  
    Interesting Posts for Van-Lav

    Динамические черты не выдерживают травления

    Создайте граф из файла CSV и отрисуйте в браузер с помощью Django и библиотеки Pandas Python

    UnicodeDecodeError: кодек 'utf8' не может декодировать байт 0x9c

    Определение практических номеров

    Как получить широту и долготу с помощью python

    Python: Как получить stdout после запуска os.system?

    Как установить MatPlotLib на Mac 10.7 в virtualenv

    Numpy np.where множественное условие

    Невозможно отправить в DRF modelviewset – request.data немедленно опустели

    Невозможно импортировать cv2 в python в OSX

    Как я могу очистить сборщик Heroku CACHE_DIR?

    Python lambda не принимает аргумент кортежа

    Python paramiko script, проблемы с чтением вывода во время exec_command ()

    Сериализовать и де-сериализовать поле Django Enum, чтобы принять числовое и текстовое представление

    Как я могу исправить эту ошибку? Gtk-WARNING **: Ошибка ввода GModule … Ошибка инициализации: версия GLib слишком старая (микросогласование)

    Python - лучший язык программирования в мире.