【发布时间】:2017-09-25 08:27:11
【问题描述】:
我有一个用户输入一个输入的 Django 表单。提交后,他们将被带到与其输入相关联的 URL。
数据库包含user_input 和associated_url 字段。
user_input 设置了值unique=True。当输入重复输入时,网站This value user_input already exists in the database 上会显示以下内容,即使我没有这样设置。这可能是form.is_valid()的功能?
所以它会立即识别重复值,但我正在尝试设置它,以便如果输入重复值,那么它只会将用户带到 associated_url 以获取该值。
即
现有数据库表:
user_input associated_url
hello https://stackoverflow.com
如果用户再次在表单中输入hello,它会立即将他们带到https://stackoverflow.com,而不是显示This value user_input already exists in the database
代码:
def Primary(request):
form = Form()
if request.method == 'POST':
form = Form(request.POST)
if form.is_valid():
... saving to database, redirect etc.
我需要能够检查输入值是否重复。如果是,则从与重复的 user_input 条目相同的行中获取 associated_url 并将用户重定向到那里。
为此,我自己尝试将else 语句添加到form.is_valid 条件,但这似乎是不好的做法,因为它会尝试重定向而不管错误(?),而且因为我不知道如何获取与输入值关联的associated_url。
【问题讨论】:
标签: python django database forms django-views