Django -- User.DoesNotExist does not exist?
The problem is really with PyDev, not your code. What you have done is absolutely correct, but IDEs will always have difficulty resolving attributes in a dynamic language like Python. In the case of the DoesNotExist exception, it is added via a __metaclass__
rather than through normal object inheritance, so PyDev is unlikely to be able to find it. However, it should definitely work.
I just discovered Pydev actually has a nice workaround for this.
Go to Window > Preferences, then Pydev > Editor > Code Analysis.
Click the Undefined tab and add "DoesNotExist" to the text box titled Consider the following names as globals.
Pydev has a workaround for such cases (when the members are defined at runtime).Just add #@UndefinedVariable at the end of the string which cause the warning (or ctrl+1 on keyboard when the cursor is at "DoesNotExist"), and it won't complain.