ModelFormset_factory как изменить ранее сохраненные данные - PullRequest
0 голосов
/ 19 февраля 2019

Я застрял в этой проблеме на три дня и очень благодарен за любые предложения или помощь.

Я создал набор форм с использованием modelformset_factory и успешно сохранил данные в базе данных.Я также успешно загрузить данные с помощью queryset.Прямо сейчас я хочу изменить данные, но они всегда попадают в недопустимую ошибку набора форм: "требуется идентификатор".Я не знаю, где что-то не так, и я прочитал документацию, но не смог найти ничего полезного.

Вот моя форма:

FocusFormset = modelformset_factory(
startupFocus,
fields=('name',),
widgets={
    'name': forms.TextInput(
        attrs={
            'placeholder': 'Enter Area of Focus here',
            'label': 'Area of Interests',
        }
    )
}

)

Вотмой взгляд:

    if request.method == 'POST':
        edit_form_io = update_startup_info_form(request.POST, instance=current_user)

        formset = FocusFormset(request.POST)
        if edit_form_io.is_valid() and formset.is_valid():
            # print(formset)

            edit_form_io.save()
            instances = formset.save(commit=False)
            for instance in instances:
                instance.myUser = current_user
                instance.name = instance["name"]
                instance.save()
            return redirect('../display-profile')

вот моя модель:

class startupFocus(models.Model):
name = models.CharField(max_length=255, verbose_name='Area of Interests:')
myUser = models.ForeignKey(
    MyUser,
    on_delete=models.SET_NULL,
    null=True
)

def __str__(self):
    return self.name

вот мой шаблон выглядит так: шаблон

...