Django add/edit form not returning initial/default value set while initialisation

General Tech Bugs & Fixes 2 years ago

0 1 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (1)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago

 

I have view which I use for both adding and editing a modelform. Edit form works fine but while loading the add form, the initial values which I had set through Python code is not showing.

Views.py(1):

def tracker_edit(request, track_id=None, template_name='posts/tracker_edit.html'):
    if track_id is not None:
        track = get_object_or_404(Post, pk=track_id)
    else:
        track = Post()
    tracker = CreateArticle(request.POST or None, instance=track)
    if request.POST and tracker.is_valid():
        tracker.save()
        redirect_url = reverse('posts:tracker_list')
        return redirect(redirect_url)

    return render(request, template_name, {
        'tracker': tracker
    })

Forms.py:

    Day_Of_Week=(('Weekday','Weekday'),('Weekend','Weekend'))
    weekno = datetime.datetime.today().weekday()

    if weekno<5:
        x = ("Weekday")
    else:
        x = ("Weekend")

    Day_Of_Week = forms.ChoiceField(choices=Day_Of_Week, widget=forms.RadioSelect, initial=x)

For example, from the forms.py you can see I'm expecting the radio button to be auto selected as weekday or weekend. But none is selected. Im confused, am I doing anything wrong with get/put? Any fix for the above will be appreciated..

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.