Skip to content

Incompatibility with Django 3.1#15

Description

@jrheard

Hi!

django-pgcli doesn't seem to be compatible with Django 3.1. Here's the issue I encountered:

馃殏  pipenv run ./manage.py dbshell
Traceback (most recent call last):
  File "./manage.py", line 20, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/jrheard/.local/share/virtualenvs/djscoots-zK00EcLC-/Users/jrheard/.pyenv/shims/python/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/Users/jrheard/.local/share/virtualenvs/djscoots-zK00EcLC-/Users/jrheard/.pyenv/shims/python/lib/python3.7/site-packages/django/core/management/__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/jrheard/.local/share/virtualenvs/djscoots-zK00EcLC-/Users/jrheard/.pyenv/shims/python/lib/python3.7/site-packages/django/core/management/base.py", line 330, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/Users/jrheard/.local/share/virtualenvs/djscoots-zK00EcLC-/Users/jrheard/.pyenv/shims/python/lib/python3.7/site-packages/django/core/management/base.py", line 371, in execute
    output = self.handle(*args, **options)
  File "/Users/jrheard/.local/share/virtualenvs/djscoots-zK00EcLC-/Users/jrheard/.pyenv/shims/python/lib/python3.7/site-packages/django/core/management/commands/dbshell.py", line 26, in handle
    connection.client.runshell(options['parameters'])
TypeError: runshell() takes 1 positional argument but 2 were given

I think that this is related to django/django@5b884d4 , a change made in Django 3.1 that modifies the signature of the .runshell() method.

I note that in that Django commit linked above, .runshell() was updated to take args self, parameters, but in https://github.com/ashchristopher/django-pgcli/blob/master/django_pgcli/__init__.py , django-pgcli's .runshell() takes args self.

That's about as deeply as I've looked into this issue - I'm not clear on the exact semantics of this parameters argument, and it's not immediately clear to me what django-pgcli should do with that argument. The main thing that I'm clear on is that the current release version of django-pgcli isn't compatible with Django 3.1 - hopefully it's an easy fix! 馃檹

Thanks for making this library! :)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions