The two installation techniques (OS-centric and language-centric) overlap in some ways, and each has their own strengths. Some people prefer one, some the other.
I would use apt-get to install any non-Python packages, including Python itself. That would be Python, mysql, and git. I would also use apt-get to install virtualenv and/or virtualenvwrapper. Then create a virtualenv, activate it, and use pip to install the Python packages.
The advantage of virtualenv is that you can have more than one (for experimenting with other projects), you can delete the whole thing by just removing the directory, and it isolates you from the system-installed Python packages so you can be sure of what packages you are using.
The virtualenv is outside the scope of apt-get, so it's true, you won't have Debian helping to keep it up to date. On the plus side, not all Python packages are packaged as Debian packages, and those that are can
lag, so virtualenv+pip will give you more Python packages to choose from, and more recent ones.