Использование ModelFormset с мастером форм

У меня есть этот раздел в моих моделях.py:

class AdrecaProjecteAutoocupat(Adreca):

[...]

designacio = models.CharField(
    max_length=128, verbose_name=u"designació",
    help_text=u"nom per identificar aquesta adreça, \
        especialment si n'hi ha més d'una \
        al projecte; p.ex. es podrien dir \"restaurant\" i \"botiga\".")

traspas = models.CharField(
    max_length=10, choices=TIPUS_TRASPAS, default=TIPUS_TRASPAS_CAP)
traspas_comentaris_avaluacio = models.TextField(
    max_length=1024, blank=True, null=True,
    help_text=u"Comentaris que es fan als membres de referència en el \
        moment de demanar-los la cessió")
traspas_inici = models.DateField(blank=True, null=True)
traspas_final = models.DateField(blank=True, null=True)
traspas_comentaris_alta = models.TextField(
    max_length=1024, blank=True, null=True,
    help_text=u"Observacions i particularitats recollides durant l'alta")

traspas_lloguer_import_mensual = models.DecimalField(
    max_digits=8, decimal_places=2,
    blank=True, null=True,
    verbose_name=u"import mensual del lloguer")

activitats = models.ManyToManyField(
    Activitat,
    blank=True, null=True,
    limit_choices_to={'firaire': False})

class Meta:
    verbose_name = u"adreça de projecte autoocupat"
    verbose_name_plural = u"adreces de projectes autoocupats"

Это я использую в своих формах.py для создания ModelFormSet:

class FormulariAdrecaProjecteAutoocupat(forms.ModelForm):
"""
Step 4
"""
projecte = None

class Meta:
    model = AdrecaProjecteAutoocupat
    fields = '__all__'
    widgets = {
        'traspas': forms.RadioSelect(),
        'activitats': forms.CheckboxSelectMultiple()
    }


class EmptyAdrecesFormSet(BaseModelFormSet):
    def __init__(self, *args, **kwargs):
        super(EmptyAdrecesFormSet, self).__init__(*args, **kwargs)
        self.queryset = AdrecaProjecteAutoocupat.objects.none()


AdrecesFormSet = modelformset_factory(AdrecaProjecteAutoocupat,
                                  formset=EmptyAdrecesFormSet,
                                  form=FormulariAdrecaProjecteAutoocupat,
                                  extra=0,
                                  min_num=1,
                                  can_delete=True)

Затем я передаю его в своем urls.py в NamedUrlSessionFormWizard...

Проблема, с которой я столкнулся, заключается в следующем:

я пытаюсь использовать modelformset для отображения пустых форм. дело в том, что я не знаю, сколько экземпляров модели хочет пользователь, поэтому я подумал об использовании наборов форм модели и установил минимум один, который требуется для общей формы.

Когда я устанавливаю минимум 1, а для запроса установлено значение none, кажется, что ему нечего показывать, поэтому он выдает ошибку о минимуме. но если использовать набор запросов по умолчанию, он показывает мне уже существующие экземпляры, как если бы я хотел их отредактировать.

Я нашел этот связанный вопрос, но он мне не очень помогает.

поэтому один из моих вопросов может быть следующим:
Есть ли способ использовать modelformset для создания новых экземпляров модели?

другой может быть:
Это связано с тем, что я не фокусирую правильную ошибку, и это можно решить где-то еще в коде?


person Alfredo Becerra Bauzulli    schedule 20.03.2015    source источник
comment
Вы устали устанавливать значение extra и удалять min_num?   -  person mariodev    schedule 20.03.2015
comment
да, я пытался, но я все еще получаю ключевую ошибку со значением 0, которую я интерпретирую как поиск экземпляра, которого не существует   -  person Alfredo Becerra Bauzulli    schedule 20.03.2015
comment
я только что удалил старые экземпляры... и пытаюсь снова, но возникает та же ошибка   -  person Alfredo Becerra Bauzulli    schedule 20.03.2015
comment
если я установил extra=0 и не min_num, вместо этого я получил визуализированный шаблон с любой формой   -  person Alfredo Becerra Bauzulli    schedule 20.03.2015
comment
с/с любой формой/без формы/*   -  person Alfredo Becerra Bauzulli    schedule 20.03.2015