Django добавить файл и выбрать автоматический идентификатор сотрудника
Я хочу добавить документы в профиль сотрудника в форме, но я хочу, чтобы форма автоматически выбирала идентификатор сотрудника (Matricule), у кого-нибудь есть решение?
models.py
class Employe(models.Model):
Matricule = models.CharField(max_length=10, null=False)
Prenom = models.CharField(max_length=40, null=True)
Nom = models.CharField(max_length=40, null=True)
Tel = models.CharField(max_length=20, null=True)
Adresse = models.CharField(max_length=100, null=True)
Courriel = models.EmailField(max_length = 254)
class Document(models.Model):
employe = models.ForeignKey(Employe, null=True, on_delete=models.SET_NULL)
Description = models.CharField(max_length=100, null=True)
Fichier = models.FileField(upload_to='documents/')
views.py
def createDocument(request, id):
employe = Employe.objects.only('Matricule')
forms = documentForm(instance=employe)
if request.method == 'POST':
forms = documentForm(request.POST, request.FILES)
if forms.is_valid():
forms.save()
return redirect('/employe')
context = {'forms':forms}
return render(request, 'accounts/document_form.html', context)
попробуйте этот способ:
def createDocument(request, id):
data = get_object_or_404(Employe, id=id)
form = documentForm(instance=data)
if request.method == "POST":
form = documentForm(request.POST, instance=data)
if form.is_valid():
form.save()
return redirect('/employe')
context = {
"form":form
}
return render(request, 'accounts/document_form.html', context)