2017-12-15 8 views
0

를 가지고 :
유형 : TypeError at /users/
값 : execute_sql() got an unexpected keyword argument 'chunk_size'
위치 : /usr/local/lib/python3.5/dist-packages/django/db/models/query.py in __iter__, line 54형식 오류의 execute_sql이() 나는 rest_framework와 ldapdb을 실행하고 예외를 얻으려고 예기치 않은 키워드 인수 '수 chunk_size'

models.py :

import ldapdb.models 
from ldapdb.models.fields import CharField, IntegerField 

class User(ldapdb.models.Model): 
    # LDAP meta-data 
    base_dn = "ou=user,o=foo" 
    object_classes = ['person'] 

    # user attributes 
    uid = CharField(db_column='uid', max_length=8, primary_key=True, unique=True) 
    employeeID = IntegerField(db_column='employeeID', unique=True) 

    def __str__(self): 
     return self.uid 

    def __unicode__(self): 
     return self.uid 

serializers.py :

from rest_framework import serializers 
from api.models import User 

class UserSerializer(serialisers.HyperlinkedModelSerializer): 
    class Meta: 
    model = User 
    fields = ('uid', 'employeeID') 

views.py

from rest_framework import generics 
from api.models import User 
from api.serializers import UserSerializer 

class UserList(generics.ListAPIView): 
    queryset = User.objects.all() 
    serializer_class = UserSerializer 

urls.py

from django.conf.urls import url 
from api import views 

urlpatterns = [ 
    url(r'^users/$', views.UserList.as_view()), 
] 

와 마지막으로 pip freeze :

  • 장고 == 0.9 2.0
  • 장고 - ldapdb을 == .0
  • djangorestframework = = 3.7.3

답변

1

최신 릴리스의 django-ldapdb 0.9는 Django 1.8, 1.10 및 1.11을 지원합니다. Django 2.0은 지원하지 않습니다.

풀 브랜치 #133이 병합 되었기 때문에 마스터 브랜치가 Django 2.0을 지원하지만 이후 릴리스가 없습니다.

+0

장고를 1.11.8로 다운 그레이드했습니다. 이제는 Itry가 마이그레이션을 수행 할 때 비슷한 오류가 발생합니다. TypeError : results_iter()에서 예상치 못한 키워드 인수 'chunked_fetch'가 발생했습니다. – ddp

+0

오류는 Django 1.11에서 발생하므로 별개의 문제로 보입니다. 주석에있는 문제를 해결하는 것은 불가능합니다. 전체 추적을 확인해야합니다. – Alasdair

+0

@ikreb 업데이트했습니다. 출시가되면 다시 업데이트 해 주셔서 감사합니다. 답변을 깔끔하게 유지하려면 댓글을 삭제하십시오. – Alasdair