﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
23807	Postgres backend throws error when coercing psycopg2 version string to int when version contains non-numeric characters	Ryan Bagwell	Andriy Sokolovskiy	"The postgres backend that ships with Django expects the version string of psycopg2 to contain numeric characters. It then tries to coerce the string to a tuple, i.e. (2, 5, 4,) for '2.5.4'. This throws an error when using the development branch, which has a version string of '2.6.dev0' (you can't coerce ""dev0"" to a string.

The problem method is located here:

https://github.com/django/django/blob/master/django/db/backends/postgresql_psycopg2/base.py#L202

{{{
@cached_property
def psycopg2_version(self):
    version = psycopg2.__version__.split(' ', 1)[0]
    return tuple(int(v) for v in version.split('.'))
}}}


This was a problem for me due to a bug in psycopg2 that was fixed in the dev branch but not in the most recent release.

I don't know how best to address it. Do other applications expect the version tuple to consist entirely of integers?"	Bug	closed	Database layer (models, ORM)	dev	Normal	fixed			Accepted	0	0	0	0	0	0
