我尝试使用rest_framework运行ldapdb并获得一个异常:
类型: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
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 = UserSerializerurls.py
from django.conf.urls import url
from api import views
urlpatterns = [
url(r'^users/$', views.UserList.as_view()),
]最后但并非最不重要的是,pip freeze:
发布于 2017-12-15 15:21:37
最新版本django-ldapdb 0.9支持Django 1.8、1.10和1.11。它不支持Django 2.0。
主分支支持Django 2.0,因为拉请求#133已经合并,但是从那以后还没有发布版本。
发布于 2018-03-16 14:44:59
请安装一个更新的版本
pip install django-ldapdb==1.0现在,错误应该消失了。
https://stackoverflow.com/questions/47834769
复制相似问题