Автозаполнение полей django при вводе идентификатора пользователя

я искал решение для автоматического заполнения всех полей на странице профиля моего исполнения, 2

У меня есть модель формы с семью полями: номер_исполнения, дело, клиент, оппонент, дата, суд, обновление. (дата установлена на auto_now и поэтому не появляется в форме)

В принципе, все, что я хочу, это когда я ввожу номер_исполнения, он должен автоматически заполнить все остальные поля, которые будут взяты из базы данных.

буду благодарен за помощь, я все еще новичок в программировании, поэтому буду признателен за поддержку :)

МОДЕЛИ

from django.db import models

class Execution(models.Model):

COURT = (
        ('Muscat', 'Muscat'),
        ('Seeb', 'Seeb'),
        )
execution_number= models.CharField(max_length =200, null= True)
matter=models.CharField(max_length =200, null= True)
client = models.CharField(max_length =200, null= True)
opponent =models.CharField(max_length =200, null= True)
date= models.DateTimeField(auto_now_add=True, null= True)
court= models.CharField(max_length =200, null= True, choices = COURT )
update = models.CharField(max_length =200)


def __str__(self):
    return self.execution_number

ПРОСМОТРОВ

def search_execution(request): номер_исполнения = request.execution_number # form = ProfileUpdateForm(request.POST, request.FILES) <-- remove

if request.method == 'POST':
    form = Execution(request.POST, request.FILES, instance=execution_number)
    if form.is_valid():
        form.save()  # <-- you can just save the form, it will save the profile
        # user.save()  <-- this doesn't help you, it doesn't save the profile and since user isn't changed you don't need to save it!
        return redirect('/search_execution')
    # else:
    #    form = ProfileUpdateForm()  <-- don't clear the form!

else:  # GET
    form = Execution(instance=execution_number)

context = {
    'form' : form
}
return render(request, 'accounts/search_execution.html', context)

FORM

from django.forms import ModelForm from .models import Execution

class ExecutionForm(ModelForm): class Meta: модель = Исполнение поля = 'all'

Я не знаю, правильный ли это подход, но в данном случае я бы использовал Django Rest Framework для создания конечной точки API, которая возвращает список объектов Execution, а затем использовал javascript прямо на странице для загрузки этого списка и проверки по нему по событию onInput(). Если есть совпадение, то вы можете легко заполнить все поля формы.

Поймите, что код представления Django выполняется на сервере и поэтому не имеет доступа к странице, с которой взаимодействует пользователь.

Любое действие автозавершения должно происходить в браузере пользователя с помощью javascript. С помощью javascript вы можете асинхронно получить доступ к информации через вызовы API и таким образом проверить, совпадает ли вводимая информация с любым идентификатором исполнения, присутствующим в вашей базе данных.

Вернуться на верх