Как я могу заполнить поля иностранных ключей в админке django inline?

У меня есть группы сервисов и сервисы. Вместе они создают уникальное отношение GroupService, которое включает некоторые другие внешние ключи. Итак, в django admin, при создании группы, я хочу предварительно заполнить инлайн сервисов двумя идентификаторами сервисов по умолчанию. Я пытался переопределить BaseInlineFormSet для моего инлайна, но безуспешно. Вот что я попробовал, теперь это дает мне KeyError: "Key 'id' not found in 'GroupServiceForm'. Choices are: counter, deduction, numerator, service.". Когда я попытался реализовать это, используя self.empty_form, я действительно преуспел в отображении правящих ключей служб по умолчанию, но не смог сохранить форму, даже если у меня были заполнены все поля.

class CustomInlineFormSet(BaseInlineFormSet):
def __init__(self, data=None, files=None, instance=None,
             save_as_new=False, prefix=None, queryset=None, **kwargs):
    super().__init__(data=data, files=files, instance=instance,
                     save_as_new=save_as_new, prefix=prefix,
                     queryset=queryset, **kwargs)

    default_services = Service.objects.filter(
        is_default=True).values_list('id', flat=True)
    
    services = [form['service'].initial for form in self.forms]

    for default_service in default_services:
        if default_service not in services:
            empty_form = self.form(initial={'id': 12, 'group': instance.id, 'service': default_service})
            # empty_form.is_valid()
            self.forms.append(empty_form)


class GroupServiceInline(CompactInline):
    model = GroupService
    fieldsets = (
        (None, {'fields': ('service',)}),
        ('KPI', {'fields': ('counter', 'deduction', 'numerator')}),
    )
    formset = CustomInlineFormSet
    extra = 2
Вернуться на верх