2017-07-28 76 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)