diff --git a/ups_management/ups_manager/forms.py b/ups_management/ups_manager/forms.py index 5598fda..e1b9961 100644 --- a/ups_management/ups_manager/forms.py +++ b/ups_management/ups_manager/forms.py @@ -4,12 +4,6 @@ from .models import UPSHost, Battery class UPSHostForm(forms.ModelForm): - last_maintenance_date = forms.CharField( - required=False, - label='上次维保时间', - widget=forms.TextInput(attrs={'class': 'form-control datepicker', 'placeholder': '选择日期'}), - ) - class Meta: model = UPSHost fields = ['brand', 'model', 'ip_address', 'quantity', 'location', 'last_maintenance_date', 'contact'] @@ -19,6 +13,7 @@ class UPSHostForm(forms.ModelForm): 'ip_address': 'IP地址', 'quantity': '数量', 'location': '存放位置', + 'last_maintenance_date': '上次维保时间', 'contact': '联系人', } widgets = { @@ -27,14 +22,10 @@ class UPSHostForm(forms.ModelForm): 'ip_address': forms.TextInput(attrs={'class': 'form-control'}), 'quantity': forms.NumberInput(attrs={'class': 'form-control', 'min': '1'}), 'location': forms.TextInput(attrs={'class': 'form-control'}), + 'last_maintenance_date': forms.TextInput(attrs={'class': 'form-control datepicker', 'placeholder': '选择日期'}), 'contact': forms.Select(attrs={'class': 'form-control'}), } - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - if self.instance and self.instance.pk and self.instance.last_maintenance_date: - self.fields['last_maintenance_date'].initial = self.instance.last_maintenance_date.strftime('%Y-%m-%d') - def clean_last_maintenance_date(self): from datetime import datetime date_str = self.cleaned_data.get('last_maintenance_date') @@ -47,17 +38,6 @@ class UPSHostForm(forms.ModelForm): class BatteryForm(forms.ModelForm): - install_date = forms.CharField( - required=False, - label='安装日期', - widget=forms.TextInput(attrs={'class': 'form-control form-control-sm datepicker-battery', 'placeholder': '选择日期'}), - ) - last_maintenance_date = forms.CharField( - required=False, - label='上次维保时间', - widget=forms.TextInput(attrs={'class': 'form-control form-control-sm datepicker-battery', 'placeholder': '选择日期'}), - ) - class Meta: model = Battery fields = ['brand', 'model', 'weight', 'quantity', 'location', 'install_date', 'last_maintenance_date'] @@ -67,6 +47,8 @@ class BatteryForm(forms.ModelForm): 'weight': '重量(kg)', 'quantity': '数量', 'location': '存放位置', + 'install_date': '安装日期', + 'last_maintenance_date': '上次维保时间', } widgets = { 'brand': forms.TextInput(attrs={'class': 'form-control form-control-sm'}), @@ -74,16 +56,10 @@ class BatteryForm(forms.ModelForm): 'weight': forms.NumberInput(attrs={'class': 'form-control form-control-sm', 'step': '0.1'}), 'quantity': forms.NumberInput(attrs={'class': 'form-control form-control-sm', 'min': '1'}), 'location': forms.TextInput(attrs={'class': 'form-control form-control-sm'}), + 'install_date': forms.TextInput(attrs={'class': 'form-control form-control-sm datepicker-battery', 'placeholder': '选择日期'}), + 'last_maintenance_date': forms.TextInput(attrs={'class': 'form-control form-control-sm datepicker-battery', 'placeholder': '选择日期'}), } - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - if self.instance and self.instance.pk: - if self.instance.install_date: - self.fields['install_date'].initial = self.instance.install_date.strftime('%Y-%m-%d') - if self.instance.last_maintenance_date: - self.fields['last_maintenance_date'].initial = self.instance.last_maintenance_date.strftime('%Y-%m-%d') - def clean_install_date(self): from datetime import datetime date_str = self.cleaned_data.get('install_date') diff --git a/ups_management/ups_manager/templates/ups_manager/ups_form.html b/ups_management/ups_manager/templates/ups_manager/ups_form.html index 15f0650..0bb4b01 100644 --- a/ups_management/ups_manager/templates/ups_manager/ups_form.html +++ b/ups_management/ups_manager/templates/ups_manager/ups_form.html @@ -87,7 +87,12 @@ - {{ form.last_maintenance_date }} + {% if form.last_maintenance_date.errors %} {% for error in form.last_maintenance_date.errors %}
{{ error }}
@@ -182,7 +187,7 @@ class="form-control form-control-sm datepicker-battery" id="{{ battery_form.install_date.id_for_label }}" name="{{ battery_form.install_date.name }}" - value="{{ battery_form.install_date.value|date:'Y-m-d' }}" + {% if battery_form.instance.install_date %}value="{{ battery_form.instance.install_date|date:'Y-m-d' }}"{% endif %} placeholder="选择日期"> {% if battery_form.install_date.errors %} {% for error in battery_form.install_date.errors %} @@ -195,7 +200,7 @@ class="form-control form-control-sm datepicker-battery" id="{{ battery_form.last_maintenance_date.id_for_label }}" name="{{ battery_form.last_maintenance_date.name }}" - value="{{ battery_form.last_maintenance_date.value|date:'Y-m-d' }}" + {% if battery_form.instance.last_maintenance_date %}value="{{ battery_form.instance.last_maintenance_date|date:'Y-m-d' }}"{% endif %} placeholder="选择日期"> {% if battery_form.last_maintenance_date.errors %} {% for error in battery_form.last_maintenance_date.errors %}