[Answer]-Django: if model has related models (ForeignKey) display Fields in main modelform

0๐Ÿ‘

โœ…

Ok got it easy thing for django:

in forms.py:

from django.forms.models import inlineformset_factory

MyFormSet = inlineformset_factory(Post, Addimg, extra=1, fields = ('addimages', 'addimg',))

in views.py:

from .forms import PostForm, MyFormSet

def manageimages(request, pk):
    post = get_object_or_404(Post, pk=pk)
    if request.method == "POST":
        formset = MyFormSet(request.POST, request.FILES, instance=post)
        if formset.is_valid():
            formset.save()
            post.save()
            return redirect('blog.views.someview')
    else:
        formset = MyFormSet(instance=post)
    return render(request, 'blog/myformsettemplate.html', {'formset': formset})

and in myformsettemplate.html:

<form enctype="multipart/form-data" method="POST" class="post-form">
    {% csrf_token %}
    {{ formset.management_form }}
    {% for form in formset %}
    <div class="third">
        {{ form.as_p }}
    </div>
    {% endfor %}
    <button type="submit" >Save</button>
</form>
๐Ÿ‘คLepus

1๐Ÿ‘

Have a look at inline formsets.

๐Ÿ‘คAdrian Ghiuta

Leave a comment