Как проверить, существует ли входное значение, и подтвердить его, если да, в Django
Я сделал текстовый ввод с jquery autocomplete, где я запрашиваю пользователей. Таким образом, если я начинаю вводить имя пользователя, он показывает связанных с ним пользователей. Это работает хорошо, но я хотел бы избежать если пользователь не хочет выбирать из списка и, возможно, вводить все имена, а он ошибется. Поэтому я хочу сделать функцию, которая проверяет, равно ли добавленное значение поля любому из пользователей в базе данных. Как это сделать?
html
<input type="text" class="form-control" placeholder="Type name here" name="kap_bar_01" id="kap_bar_01">
<script>
$(function() {
var names = [
{% for u in related_users %}
"{{ u.user.last_name }} {{ u.user.first_name }}",
{% endfor %}
];
$( "#kap_bar_01" ).autocomplete({
source: names
});
});
</script>
models.py
class Kapcsolodasok(models.Model):
def __str__(self):
return str(self.user_name)
user_name = models.ForeignKey(User, on_delete=models.CASCADE, default=1)
date = models.DateField(auto_now_add=True, auto_now=False, blank=True)
kap_bar_01 = models.TextField(max_length=200)
views.py
def kapcsolodasok(request):
profile = Profile.objects.get(user=request.user)
related_users = Profile.objects.filter(projekt=profile.projekt)
context = {
'related_users': related_users,
'profile': profile,
}
#lots of stuffs here
return render(request, 'stressz/kapcsolodasok.html', context)
Заранее спасибо!
from django.contrib.auth.models import User
userList = User.objects.values()
Приведенный выше код получит имена пользователей в виде списка и в цикле проверит введенное имя пользователя. Но я думаю, вы хотите, чтобы оно проверялось в реальном времени, поэтому вам нужно использовать каналы или ajax и т.д. В противном случае просто передайте значение имени пользователя как url url/ и проверьте его