ModelFormset в Django CreateView

Я все еще новичок в Django & я хотел бы знать, как можно позволить пользователю добавлять более 1 ReferrerMember на форме регистрации, как я хотел бы достичь похожего на изображение url ниже

https://imgur.com/a/2HJug5G

Я применил modelformset, но пока что он выдает ошибку, где "membership_id" нарушает ограничение not-null в момент отправки формы. Я искал почти везде, как это правильно реализовать, особенно в представлении на основе классов, а не на основе функций, но пока безуспешно. Если возможно, пожалуйста, помогите мне указать на ошибки, которые я допустил, или на полезные ресурсы, к которым я могу обратиться

models.py

class RegisterMember(models.Model):
   name = models.CharField(max_length=128)
   email = models.EmailField()


class ReferrerMember(models.Model):
   contact_name = models.CharField(max_length=100)
   company_name = models.CharField(max_length=100)
   membership = models.ForeignKey(RegisterMember, on_delete=models.CASCADE)

forms.py

class RegisterMemberForm(ModelForm):
   class Meta:
      model = RegisterMember
      fields = ['name', 'email', ]

class ReferrerForm(ModelForm):
   class Meta:
      model = ReferrerMember
      fields = ['contact_name ', 'company_name ', ]

ReferrerMemberFormset = modelformset_factory(ReferrerMember, form=RegisterMemberForm, fields=['contact_name ', 'company_name ', ], max_num=2, validate_max=True, extra=2)

views.py

class RegisterMemberView(CreateView):
    form_class = RegisterMemberForm
    template_name = 'register.html'

   def post(self, request, *args, **kwargs):
        member_formset = ReferrerMemberFormset (request.POST, queryset=ReferrerMember.objects.none())
        if member_formset .is_valid():
            return self.form_valid(member_formset )
    
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['member_formset'] = ReferrerMember(queryset=ReferrerMember.objects.none())
        return context

register.html

<form method="post">
    {% csrf_token %}
    {{form.as_p}}
    {{member_formset.as_p}}
    <input type="submit">
</form>
Вернуться на верх