我創建了一個表單和視圖 (FBV) 來添加新模型。我覆寫了表單__init__,但現在當我嘗試訪問我的視圖時,它會引發錯誤CreationForm' object has no attribute 'get'
我的觀點 :
def Creation(request):
user = None
if request.user.is_authenticated:
user = request.user
# POST METHOD
if request.method == "POST":
form = CreationForm(request.POST)
form.user = user
if form.is_valid():
sheet = form.save()
return redirect("sheet_detail", pk=sheet.id)
form = CreationForm(initial={'user': request.user})
return render(request, "jde/creation_form.html", context={"form": form})
我的表格:
class CreationForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(CreationForm, self).__init__(self, *args, **kwargs)
self.fields["contest"].queryset = Contest.objects.filter(active=True)
class Meta:
...
uj5u.com熱心網友回復:
之所以會引發錯誤,是因為您正在傳遞self對super().__init(). 洗掉它應該可以解決您的問題。
class CreationForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(CreationForm, self).__init__(*args, **kwargs)
self.fields["contest"].queryset = Contest.objects.filter(active=True)
class Meta:
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/527550.html
標籤:djangodjango-viewsdjango-formsdjango 网址
