Roland van Laar <[email protected]> writes:

> I would like to know which Model and Field caused the error.
>
> Such as: DatabaseError: own_app.models.User.street: value too long for
> type character varying(100).

This could be done by having Django's database interface catch the
error, and chain a new exception from that one:

    try:
        pgsql_cursor.execute(foo)
    except pgsql.SpamException as exc:
        error = DatabaseError(
                "in {model_name}: {exc}".format(
                    exc=exc, model_name=fully_qualified_model_name))
        raise error from exc

See PEP 3134 for the exception chaning syntax ‘raise foo from bar’
<URL:http://www.python.org/dev/peps/pep-3134/> which is now in Python
<URL:http://docs.python.org/3/library/exceptions.html>.

-- 
 \           “I do not believe in forgiveness as it is preached by the |
  `\        church. We do not need the forgiveness of God, but of each |
_o__)                    other and of ourselves.” —Robert G. Ingersoll |
Ben Finney

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-developers.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to