Проверка первичного ключа в Django - PullRequest
0 голосов
/ 17 мая 2011

У меня есть этот пользовательский первичный ключ в модели:

class Personal(models.Model):
    name = models.CharField(max_length=20,primary_key=True)
    email = models.EmailField(blank=True,null=True)

Теперь, что я не получаю, так это как я могу создать свое представление, чтобы не вводить повторяющиеся записи?Я искал это онлайн, но мог найти любую технику, чтобы создать представление.

вот код для представлений

def uregister(request):
    errors = []
    if request.method == 'POST':
        if not request.POST.get('txtName', ''):
            errors.append('Enter a Name.')
        if not errors:
            n = request.POST['txtName']
            e = request.POST['txtEmail']
            try:
                per_job = Personal(name=n, email=e)
                per_job.save()
            except IntegrityError:
                return render_to_response('gharnivas/register.html', {'exists': true}, context_instance=RequestContext(request))

            return HttpResponseRedirect('/')
        else:
            return render_to_response('register.html', {'errors': errors}, context_instance=RequestContext(request))

Как я могу сказать пользователю, что имя уже существует

Ответы [ 3 ]

2 голосов
/ 17 мая 2011

Поймай неизбежное исключение при сохранении и скажи им.

0 голосов
/ 26 октября 2011

Использование:

per_job.save(force_insert=True)
0 голосов
/ 17 мая 2011

Требуется проверка формы и формы:

http://docs.djangoproject.com/en/dev/topics/forms/?from=olddocs#customizing-the-form-template

Определите класс PersonalForm, переместите проверки проверки в определения полей формы или методы clean * (), затемпоказать поля ошибок из формы в шаблоне.

Ссылка на книгу Django для обработки формы:

http://www.djangobook.com/en/2.0/chapter07/

...