2017-07-28 98 views
1

在我的django webapp中,我創建了一個表單,用戶輸入用小時和分鐘完成活動所需的時間(例如2小時33分鐘)。作爲小時和分鐘的Django輸入,保存爲分鐘

我想要的輸入顯示客戶端爲小時和分鐘,但保存到模型只有幾分鐘的路程(例如153)

目前,輸入僅在幾分鐘內給出。我擔心這是相當難看/不可讀:

models.py:

class Activity(models.Model): 
 
    time_taken = models.PositiveIntegerField(default=0)

add_activity.html:

<form id="add_session_form" method="post" action="" enctype="multipart/form-data"> 
 
    {% csrf_token %} 
 
    {{ add_activity_form.as_p }} 
 
    <input type="submit" name="submit" value="Add Activity" /> 
 
</form>

forms.py:

class Activity(forms.ModelForm): 
 
    
 
    class Meta: 
 
     model = Activity 
 
     fields = ('time_taken', 'subject')

可能有人請幫助我改變形式的輸入,使用戶單獨輸入小時和分鐘,而只存儲分鐘的時間。

+0

發表您的形式請 – Exprator

+0

@Exprator做到了這一點,謝謝<3 –

+0

不好意思問,但如果你已經寫過,請張貼觀點 – Exprator

回答

0

在窗體

class ActivityForm(forms.ModelForm): 
    hours = forms.IntegerField(max_value=12,min_value=0) 
    class Meta: 
     model = Activity 
     fields = ('time_taken', 'subject') 

呈現形式要在視圖做

form = ActivityForm(request.POST) 
hours = form.cleaned_data['hours'] 
minutes = form.cleaned_data['time_taken'] 

total_time = 60*hours + minutes 
Activity.objects.create(time_taken = total_time)