Django, не могу понять, почему формы пустые кроме input type="file"
Есть момент когда пользователь может отредактировать свой обьект, там тексты и картинки, я добавил instance=item в форму чтобы он заранее заполнил инпуты, беда в том что только путь картинок заполняет а остальное типа фио и номер не заполняет, вот код. если есть у вас свое решение то прошу поделиться
views.py
def detail_edit(request, id):
if request.user.username == 'admin':
item = Buses.objects.get(id=id)
form = ItemForm(request.POST or None, request.FILES, instance=item,)
if request.method == 'POST':
if form.is_valid():
form.save()
messages.success(request, 'Объект успешно изменен')
return redirect('index')
messages.error(request, 'Что то пошло не так, объект не изменен')
return redirect('index')
return render(request, 'buses/detail_edit.html', {'form': form, 'bus': item})
return redirect('index')
forms.py
class ItemForm(forms.ModelForm):
class Meta:
model = Buses
fields = ('company','name', 'state_number', 'route_number', 'phone_number', 'type_car', 'photo_person','photo_right','photo_left','photo_car_license','photo_driver_license','photo_route_list')
models.py
class Buses(models.Model):
company = models.CharField(choices=CHOICES_Company, max_length=200)
name = models.CharField(max_length=200)
state_number = models.CharField(max_length=200)
route_number = models.IntegerField()
phone_number = models.IntegerField()
type_car = models.CharField(choices=CHOICES_type_car,max_length=200)
archive = models.BooleanField(default=False)
photo_person = models.ImageField(upload_to='photos/%Y/%m/%d/', default='none.jpg')
photo_right = models.ImageField(upload_to='photos/%Y/%m/%d/', default='none.png')
photo_left = models.ImageField(upload_to='photos/%Y/%m/%d/', default='none.png')
photo_car_license = models.ImageField(upload_to='photos/%Y/%m/%d/', default='none.png')
photo_driver_license = models.ImageField(upload_to='photos/%Y/%m/%d/', default='none.png')
photo_route_list = models.ImageField(upload_to='photos/%Y/%m/%d/', default='none.png')
date_pub = models.DateTimeField(auto_now_add=True)