Giter VIP home page Giter VIP logo

Comments (16)

dlo avatar dlo commented on June 12, 2024

Can you run ./manage.py runserver --traceback?

from django-pyodbc.

jamc17 avatar jamc17 commented on June 12, 2024

Thanks for your quick response:

$ ./manage.py runserver --traceback

Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/core/management/base.py", line 280, in execute
    translation.activate('en-us')
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/utils/translation/__init__.py", line 130, in activate
    return _trans.activate(language)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 188, in activate
    _active.value = translation(language)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 177, in translation
    default_translation = _fetch(settings.LANGUAGE_CODE)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 159, in _fetch
    app = import_module(appname)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
    __import__(name)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/contrib/admin/__init__.py", line 6, in <module>
    from django.contrib.admin.sites import AdminSite, site
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/contrib/admin/sites.py", line 4, in <module>
    from django.contrib.admin.forms import AdminAuthenticationForm
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/contrib/admin/forms.py", line 6, in <module>
    from django.contrib.auth.forms import AuthenticationForm
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/contrib/auth/forms.py", line 17, in <module>
    from django.contrib.auth.models import User
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/contrib/auth/models.py", line 48, in <module>
    class Permission(models.Model):
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/models/base.py", line 96, in __new__
    new_class.add_to_class('_meta', Options(meta, **kwargs))
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/models/base.py", line 264, in add_to_class
    value.contribute_to_class(cls, name)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/models/options.py", line 124, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/__init__.py", line 34, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/utils.py", line 198, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/utils.py", line 131, in load_backend
    raise ImproperlyConfigured(error_msg)
django.core.exceptions.ImproperlyConfigured: 'django_pyodbc' isn't an available database backend.
Try using 'django.db.backends.XXX', where XXX is one of:
    u'mysql', u'oracle', u'postgresql_psycopg2', u'sqlite3'
Error was: No module named hashcompat

from django-pyodbc.

dlo avatar dlo commented on June 12, 2024

Aha. Looks like hashcompat was deprecated in Django 1.6 (https://docs.djangoproject.com/en/1.5/internals/deprecation/#id2). Thanks.

from django-pyodbc.

dlo avatar dlo commented on June 12, 2024

Hmm. I believe this same issue was actually fixed by @michiya in early July. The only situation where hashcompat would be imported is if you were running the pre-2.5 CPython interpreter.

Which version of django-pyodbc are you using?

from django-pyodbc.

jamc17 avatar jamc17 commented on June 12, 2024

I'm using django_pyodbc-0.10
I install it with: pip install django-pyodbc

from django-pyodbc.

dlo avatar dlo commented on June 12, 2024

I think that's the issue. Try this instead:

pip install django-pyodbc==0.2.2

from django-pyodbc.

jamc17 avatar jamc17 commented on June 12, 2024

Hello, i installed django-pyodbc0.2.2 and when i ran ./manage.py run server it's OK, but y want to sync db: ./manage.py syncdb don't work:

Creating tables ...
Creating table django_admin_log
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_groups
Creating table auth_user_user_permissions
Creating table auth_user
Creating table django_content_type
Creating table django_session
Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/core/management/base.py", line 285, in execute
    output = self.handle(*args, **options)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/core/management/base.py", line 415, in handle
    return self.handle_noargs(**options)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 112, in handle_noargs
    emit_post_sync_signal(created_models, verbosity, interactive, db)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/core/management/sql.py", line 216, in emit_post_sync_signal
    interactive=interactive, db=db)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/dispatch/dispatcher.py", line 185, in send
    response = receiver(signal=self, sender=sender, **named)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/contrib/auth/management/__init__.py", line 82, in create_permissions
    ctype = ContentType.objects.db_manager(db).get_for_model(klass)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/contrib/contenttypes/models.py", line 47, in get_for_model
    defaults = {'name': smart_text(opts.verbose_name_raw)},
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/models/manager.py", line 154, in get_or_create
    return self.get_queryset().get_or_create(**kwargs)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/models/query.py", line 373, in get_or_create
    return self.get(**lookup), False
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/models/query.py", line 301, in get
    num = len(clone)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/models/query.py", line 77, in __len__
    self._fetch_all()
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/models/query.py", line 854, in _fetch_all
    self._result_cache = list(self.iterator())
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/models/query.py", line 220, in iterator
    for row in compiler.results_iter():
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 710, in results_iter
    for rows in self.execute_sql(MULTI):
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 771, in execute_sql
    sql, params = self.as_sql()
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django_pyodbc/compiler.py", line 211, in as_sql
    with_col_aliases=with_col_aliases)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 93, in as_sql
    where, w_params = self.query.where.as_sql(qn=qn, connection=self.connection)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/models/sql/where.py", line 106, in as_sql
    sql, params = self.make_atom(child, qn, connection)
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/models/sql/where.py", line 192, in make_atom
    field_sql, field_params = self.sql_for_columns(lvalue, qn, connection, field_internal_type), []
  File "/Users/jamc/.virtualenvs/siga2/lib/python2.7/site-packages/django/db/models/sql/where.py", line 273, in sql_for_columns
    return connection.ops.field_cast_sql(db_type, internal_type) % lhs
TypeError: field_cast_sql() takes exactly 2 arguments (3 given)

from django-pyodbc.

gcavalcante8808 avatar gcavalcante8808 commented on June 12, 2024

I can confirm that bug affects Linux version as well just to note.

from django-pyodbc.

dlo avatar dlo commented on June 12, 2024

@gcavalcante8808: can you paste the output from the command with --traceback appended?

from django-pyodbc.

gcavalcante8808 avatar gcavalcante8808 commented on June 12, 2024

Of course,

Here it is:

https://gist.github.com/gcavalcante8808/8306004

I'm using Django==1.6.1, django-pyodbc==0.2.2 and pyodbc==3.0.7.

from django-pyodbc.

ChristianTremblay avatar ChristianTremblay commented on June 12, 2024

I've been able to make it work modifying django_pyodbc/operations.py

Line 77 : def field_cast_sql(self, db_type, internal_type):
was def field_cast_sql(self, db_type):

Made this change based on the fact that :
django/db/models/sql/where.py

Line 273 : return connection.ops.field_cast_sql(db_type, internal_type) % lhs

There may be something more to do with operations.py ... I'm a newbie in all that stuff.

Using django 1.6, pyodbc 3.0.7, django_pyodbc 0.2.2
Python 2,7
Linux Lubuntu 13 VM

from django-pyodbc.

hobson avatar hobson commented on June 12, 2024

I can confirm Christian's patch worked for me on fedora 16, django 1.6, django-sqlserver 0.3b,, pyodbc 3.0.7 (patched), freetds 0.91

from django-pyodbc.

dlo avatar dlo commented on June 12, 2024

@hobson nice!

@ChristianTremblay could you submit a PR? only change we should make is internal_type should be an optional parameter to maintain compatibility with older Django versions.

from django-pyodbc.

jfabiani avatar jfabiani commented on June 12, 2024

What has to be changed to work with django 1.8.x? There is no
from django.db.backends import BaseDatabaseWrapper, ...

from django-pyodbc.

quetzaluz avatar quetzaluz commented on June 12, 2024

I checked the code and it looks like we have an update that makes this backwards compatible:

try:
    from django.db.backends.base.base import BaseDatabaseWrapper
    from django.db.backends.base.features import  BaseDatabaseFeatures
    from django.db.backends.base.validation import BaseDatabaseValidation
except ImportError:
    # import location prior to Django 1.8
    from django.db.backends import BaseDatabaseWrapper, BaseDatabaseFeatures, BaseDatabaseValidation

Perhaps this can now be closed?

from django-pyodbc.

RossRogers avatar RossRogers commented on June 12, 2024

Per @quetzaluz comment, seems to be resolved. Closing. Please re-open if I am mistaken.

from django-pyodbc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.