我正在使用 mysql 5.7 db 和 django 1.8,据我所知,它们都支持毫秒。我可以通过 mysql 以 HH:MM:SS.fff 的形式将时间输入到我的数据库中。(例如 00:05:45:100)
当我打开 django 的管理页面时,它会正确显示时间(例如 00:05:45:100000),但是如果我通过管理表单输入时间并按“保存”,时间会变为例如 00:05:45: 000000 所以毫秒不会像我认为的那样被保存
为什么会这样,有没有办法改变它?谢谢
管理员.py
from django.contrib import admin
from items.models import Maximum
from django import forms
class MaximumAdminForm(forms.ModelForm):
def __init__(self, *arg, **kwargs):
super(MaximumAdminForm, self).__init__(*arg, **kwargs)
self.fields['time_point'] = forms.TimeField(widget=forms.TimeInput(format="%H:%M:%S.%f"))
class Meta:
model = Maximum
fields = ['item', 'time_point',]
class MaximumAdmin(admin.ModelAdmin):
form = MaximumAdminForm
def milliseconds(self, obj):
return obj.time_point.strftime("%H:%M:%S.%f")[0:12]
milliseconds.short_description = 'time point'
list_display = ('id', 'milliseconds',)
admin.site.register(Maximum, MaximumAdmin)