Как сделать форму в django admin с initial полями?

Чтобы создать форму с initial полями в Django admin, вам потребуется определить классы моделей и административные формы. Возможно, вам придется создать также административный класс для вашей модели.

1. Определите административную форму:
- Создайте файл forms.py в папке вашего приложения (если его нет, создайте его).
- Импортируйте необходимые модули:

     from django import forms
     from .models import YourModel

- Определите форму на основе модели:

     class YourModelForm(forms.ModelForm):
         class Meta:
             model = YourModel
             fields = '__all__'  # или перечислите необходимые поля как список

- Добавьте дополнительные поля или измените поведение формы по вашему усмотрению.
- Чтобы добавить initial значения, вы можете передать их в аргументе initial вашей формы:

     class YourModelForm(forms.ModelForm):
         initial_field = forms.CharField(initial='initial value')
         # ...
         class Meta:
             model = YourModel
             fields = '__all__'

2. Создайте административный класс для вашей модели:
- Откройте файл admin.py в папке вашего приложения (если его нет, создайте его).
- Импортируйте необходимые модули:

     from django.contrib import admin
     from .models import YourModel
     from .forms import YourModelForm

- Определите административный класс:

     class YourModelAdmin(admin.ModelAdmin):
         form = YourModelForm

- Если вы хотите, чтобы форма отображалась сразу после добавления или изменения записи, добавьте аргумент add_form_template или change_form_template:

     class YourModelAdmin(admin.ModelAdmin):
         form = YourModelForm
         change_form_template = 'admin/yourapp/your_change_form.html'

Создайте шаблон (your_change_form.html), а затем настройте его по своему усмотрению.

3. Зарегистрируйте вашу модель и административный класс:
- В файле admin.py добавьте следующий код:

     admin.site.register(YourModel, YourModelAdmin)

Теперь при открытии формы добавления или изменения записи в административной панели Django вы увидите форму с указанными initial значениями.