I am using Python 3.6 and Django as web framework I have to save datetime together in my database but show date and time separate field in HTML. Model Code:
class date_time(models.Model):
date = models.DateField(default=timezone.now)
time = models.TimeField(default=timezone.now)
Form Code:
class date_time_Form(forms.ModelForm):
class Meta:
model = date_time
fields = ('date', 'time',)
widgets = {
'date': forms.TextInput(attrs={'class': 'form-control', 'type': 'date'}),
'time': forms.TextInput(attrs={'class': 'form-control', 'type': 'time'}),
}
labels = {
'date': 'Date',
'time': 'Time',
}
Currently, I am storing in a separate field but I want to save in one field date+time.
Update - I can use Datetime field but that will create only one element in HTML page.
But in HTML I want separate fields like below with only one datetime field in model
Is there any way to achieve this?
You can use SplitDateTimeField
: https://docs.djangoproject.com/en/3.0/ref/forms/fields/#splitdatetimefield
class Myform(forms.Form):
start_date = forms.SplitDateTimeField(initial=datetime.datetime.now)
Altough, if you want a label for each one, you will need to modify your template, or use separate form attributes.
这正是DateTimeField的用途。
date_time = models.DateTimeField()
You can use models.DateTimeField
to store dateTime in one field. DateTimeField
You can get the date and time from the HTML, then combine them into a DateTime object. See Pythonic way to add datetime.date and datetime.time objects for how.
If you want the reverse (taking a DateTime, and getting the date and time), you can see How do I convert datetime to date (in Python)? and Convert datetime to time in python
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.