I've tried many options but none have worked. I want to initialize a form with logged in user as initial data.
#My form
class AdaugaPorumbel(forms.ModelForm):
class Meta:
model = Porumbei
fields = ['data_adaugare', 'crescator', 'serie_inel', 'anul', 'culoare', 'culoare_ochi', 'sex', 'ecloziune',
'rasa', 'linie', 'nume', 'tata',
'mama', 'compartiment', 'status', 'data', 'vaccinat', 'info', 'imagine', 'imagine_ochi']
widgets = {
'ecloziune': forms.DateInput(format='%d/%m/%Y',
attrs={'class': 'form-control', 'type': 'date'}),
'data': forms.DateInput(format='%d/%m/%Y',
attrs={'class': 'form-control', 'type': 'date'}),
'vaccinat': forms.DateInput(format='%d/%m/%Y',
attrs={'class': 'form-control', 'type': 'date'}),
'info': forms.Textarea(attrs={'class': 'form-control mt-15', 'rows': '3',
'placeholder': 'Vor apărea în pedigree'}),
}
# My view
@login_required(login_url='/auth/login/')
def porumbelnou(request):
if request.method == "POST":
form = AdaugaPorumbel(request.POST, request.FILES, initial={'crescator': crescator})
if form.is_valid():
form.save()
return HttpResponseRedirect('/porumbei/vizualizare')
else:
form = AdaugaPorumbel()
context = {
'form': form,
}
template = loader.get_template("adaugare-porumbel.html")
return HttpResponse(template.render(context, request))
# I've already try but still won't working
if form.is_valid:
form.save(commit=False)
form.crescator = request.user
form.save()
...
On models, crescator field is a foreignkey set to settings.AUTH_USER_MODEL.