Django: Admin inline forms initial data for every instance

前端 未结 6 1536
名媛妹妹
名媛妹妹 2020-12-15 05:20

I\'ve been reading a lot but I don\'t seem to be able to figure out a solution to this.

I\'m writing an application in Django, I\'m still writing the admin side.

6条回答
  •  挽巷
    挽巷 (楼主)
    2020-12-15 06:09

    Not sure exactly why you want to do this, but perhaps you could create a modelformset:

    from django.forms.models import BaseModelFormSet
    class ServerFormSet(BaseModelFormSet):
        def __init__(self, *args, **kwargs):
            super(ServerFormSet, self).__init__(*args, **kwargs)
            self.initial = [{ 'name': 's1', }, {'name': 's2'},] # supply your list here
    

    and set this on your inline:

    class ServerInline(admin.TabularInline):
        form = ServerInlineAdminForm
        model = Server
        extra = 39
        formset = ServerFormSet
    

    I have not tried this out.

    See: https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin.formset

    https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#providing-initial-values

    https://docs.djangoproject.com/en/dev/topics/forms/formsets/#using-initial-data-with-a-formset

提交回复
热议问题