Form update

views.py

@login_required
def species_update(request, pk):
    species_to_update = get_object_or_404(DBSpecies, id=pk)
    if species_to_update.species_owner != request.user:
        return redirect('account_logout')
    if request.method == "POST":
        form_species_update = FormSpecies(request.user, request.POST, request.FILES, instance=species_to_update)
        if form_species_update.is_valid():
            form_species_update.save(commit=False)
            form_species_update.species_owner = request.user
            form_species_update.save()
            return redirect('homepage')
    else:
        form_species_update = FormSpecies(request.user, instance=species_to_update)
    
    return render(request, 'app_fossils/species_update.html', {
        'form_species_update': form_species_update,
        'species_to_update': species_to_update,
    })

@login_required
def fossil_update(request, pk):
    fossil_to_update = get_object_or_404(DBFossil, id=pk)
    if fossil_to_update.fossil_owner != request.user:
        return redirect('account_logout')
    if request.method == "POST":
        form_fossil_update = FormFossil(request.user, request.POST, request.FILES, instance=fossil_to_update)
        if form_fossil_update.is_valid():
            fossil_to_update = form_fossil_update.save(commit=False)
            fossil_to_update.fossil_owner = request.user
            fossil_to_update.save()
            return redirect('fossil-selected', pk=fossil_to_update.id)
    else:
        form_fossil_update = FormFossil(request.user, instance=fossil_to_update)

    return render(request, 'app_fossils/fossils_update.html', {
        'form_fossil_update': form_fossil_update,
        'fossil_to_update': fossil_to_update,
    })    

urls.py

Templates

species_update.html

fossils_update.html