私はしばらくの間、Django フォーム検証と戦っています。私はかなり基本的なコードを使用しています。ajaxリクエストを使用してフォームデータを返すことは唯一の特別なことですが、ここで私の問題の原因ではないと思います. ユーザーエントリを更新しようとしています。ユーザーのインスタンスを作成し、そのインスタンスを CreateForm() にフィードしますが、それでもユーザー名の重複エラーが発生します。
ビューの一部を次に示します。
def user_update(request):
if request.is_ajax():
print request.POST
user = User.objects.get(pk=int(request.POST['pk']))
print user
form = UserCreateForm(request.POST, instance=user)
print form
if form.is_valid():
form_cleaned = form.cleaned_data
else:
print '### form is invalid ###'
print form.error_messages
の出力request.POST
は次のとおりです。
<QueryDict: {u'username': [u'testuser'], u'password1': [u'test'], u'password2': [u'test'], u'pk': [u'27'], u'csrfmiddlewaretoken': [u'wyBoaBAlxLTO952BzWSxR7HMK6W7nsAM'], u'email': [u'soso@soso.so']}>
の出力print user
は次のとおりです。
testuser
ではprint form
、常にユーザー名の重複エラーが発生するため、フォームは常に無効です。
ヒントをください。よろしくお願いします。