我想在Django編輯行1.9使用Django形式:編輯使用Django連續窗體
所以我所做的就是
對於GET請求我初始化形式實例(views.py)
def get(self, request):
myModel = model.myModel.objects.get(user=request.user)
form_instance = MyForm(initial=myModel.__dict__)
return render(request, 'mytemplate.html', {'form': form_instance})
def post(self, request):
form_instance = MyForm(request.POST)
if form_instance.is_valid():
form_instance.save()
return redirect('..')
return render(request, 'mytemplate.html', {'form': form_instance})
這是我的models.py
class MyModel(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
Booth = models.OneToOneField(BoothLocation)
class BoothLocation(models.Model):
LocationID = models.CharField(max_length = 25)
,我有一個forms.py
class MyForm(forms.ModelForm):
class Meta:
model = MyModel
fields = ('Booth')
labels = {'Booth':_('Booth Chosen')}
我的問題是,我的模型有一個一對一的領域,因此,每當我執行
form_instance = MyForm(request.POST)
它會返回一個錯誤,指出onetoonefield必須是唯一的,但我只是更新它。有沒有辦法來重寫這個驗證?
順便說一句,該領域真的需要一對一。
是的,它只是一個錯字。 :)但問題依然如此。 :) – Red
這可能會幫助你。切換到ForeignKey http://stackoverflow.com/questions/20909039/does-django-onetoonefield-needs-to-be-unique – user2853437
謝謝@ user2853437。但問題是它確實需要一對一,我只需要編輯它。 – Red