from django.forms import ModelForm from containers.models import Container class ContainerBaseForm(ModelForm): class Meta: model = Container fields = '__all__' class ContainerReceiveForm(ContainerBaseForm): """ Form for creating a new Container instance. Inherits from ContainerBaseForm. """ class Meta(ContainerBaseForm.Meta): fields = ['number', 'receive_vehicle', 'damages', 'heavy_damaged', 'position',] class ContainerExpeditionForm(ContainerBaseForm): """ Form for updating an existing Container instance. Inherits from ContainerBaseForm. """ class Meta(ContainerBaseForm.Meta): fields = ['number', 'expedition_vehicle', 'position', 'line', 'container_type', 'damages', 'heavy_damaged'] def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) readonly_fields = ['number', 'position', 'line', 'container_type', 'damages', 'heavy_damaged'] for field in readonly_fields: self.fields[field].widget.attrs['readonly'] = True self.fields[field].disabled = True