以下にコードを示します(Django管理ビューに属し、わずかに変更されています)。私のIDE(PyCharm)は、最後の行で警告しますLocal variable 'ModelForm' might be referenced before assignment
。
それがどのように起こるかはわかりませんが、6行目をコメントアウトすると:
with transaction.commit_manually():
その後、警告は消えます。
私は何かが足りないのですか、それともPyCharmが何かが足りないのですか?
これがコードのチャンクです。私はそれをほんの数行に縞模様にしました、そしてそれはまだ警告を与えます。コードの元のチャンクはここにあります(70行):http://pastebin.com/4UT9hRPb
ModelForm = self.get_form(request, obj, form=form)
formsets = []
if request.method == 'POST':
# commit only when all forms are valid
with transaction.commit_manually():
try:
objects = queryset.all()
transaction.commit()
return self.response_change(request, new_object)
finally:
general_error = unicode(sys.exc_info()[1])
transaction.rollback()
form = ModelForm()