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

Я работаю над хранилищем данных 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

  • Проблема с загрузкой в ​​Django
  • Как сделать динамический контент в сетке с помощью Django с помощью Bootstrap?
  • Обработка щебетать в Twitter
  • Откройте новое окно для входа в систему, затем закройте и вернитесь к родительскому успеху с помощью Django
  • Загрузочные поля Нечетные взгляды
  • Использование переключателей Twitter для Bootstrap с Flask
  •  
    Interesting Posts for Van-Lav

    Как отлаживать приложение Django, работающее на Heroku, используя удаленное соединение pdb?

    Автоматически исполняемый файл python без открытия с терминала?

    Каков самый простой способ использования Pdon pdb для проверки причины необработанного исключения?

    Как сохранить словарь в поле модели базы данных Django

    Как регистрировать события на дочерних виджетах tkinter?

    простой шифровать / дешифровать lib в python с закрытым ключом

    Передавать дополнительные параметры для сигнала post_save

    PyQt – загрузка SQL в QAbstractTableModel (QTableView) с использованием pandas DataFrame – редактирование данных в графическом интерфейсе

    Итерация по элементам словаря (), значениям (), keys () в Python 3

    Подсчет отдельных случаев в python в файле csv

    Приложение Google App Engine чрезвычайно медленно

    Не целочисленные метки классов Scikit-Learn

    приблизительное сравнение в python

    Дженкинс: добавив мой модуль Python на PYTHONPATH

    Python.h не найден с использованием swig и Anaconda Python

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