создавать объекты разных моделей в одной ModelForm? - PullRequest
0 голосов
/ 20 марта 2019

Можно ли использовать одну ModelForm для создания объектов разных моделей?

Я пытаюсь что-то вроде этого, но "... name 'model' не определено ...":

urls.py
path('<modelname>/create', views.object_create, name='object-create')

views.py
def object_create(request, modelname):

    if request.method != 'POST':
            form = ObjectForm(modelname)
            return render (request, 'product/form.html', {'form':form})
    else:
        form = ObjectForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect(reverse('product:feature-list'))

        return render (request, 'product/form.html', {'form':form})

forms.py
class ObjectForm(forms.ModelForm):

        def __init__(self, modelname, *args, **kwargs):
            super().__init__(*args, **kwargs)
            self.model =  apps.get_model('product', modelname)

        class Meta:
            model = model
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...