一切都运行良好,直到我将操作系统升级到Ubuntu 17.10.现在我的Django项目不会运行(python manage.py runserver)因为psycopg2不会导入.psycopg2已经安装了pip(没有任何改变).确切地说,这是错误:
lib/python3.5/site-packages/psycopg2/.libs/libresolv-2-c4c53def.5.so:
symbol __res_maybe_init, version GLIBC_PRIVATE not defined in file
libc.so.6 with link time reference
Run Code Online (Sandbox Code Playgroud) 我已经阅读了一些关于序列化字典的答案和帖子。但我仍然无法让它工作。这是问题所在。我在 django app 中做了一些数据处理,它返回这个字典(它有关于测验的信息):
{101: {'subject': 'General-Intelligence', 'topics': ['Coding Decoding', 'Dice & Boxes', 'Statement & Conclusion', 'Venn Diagram', 'Mirror and Water Image', 'Paper Cutting and Folding', 'Clock/Time', 'Matrix', 'Direction', 'Blood Relation', 'Series Test', 'Ranking', 'Mathematical Operations', 'Alphabet Test', 'Odd one out', 'Analogy'], 'num_questions': 25, 'creator': 'Rajesh K Swami'}}
Run Code Online (Sandbox Code Playgroud)
我想序列化这本字典。所以我所做的就是为这本词典创建了一个类。IE。
class PsudoTests:
def __init__(self,body):
self.body = body
Run Code Online (Sandbox Code Playgroud)
也是一个序列化器:
class PsudoTestSerializer(serializers.Serializer):
body = serializers.DictField()
Run Code Online (Sandbox Code Playgroud)
现在在 api 视图中:
class TestListView(generics.ListAPIView):
def get_serializer_class(self):
serializer = PsudoTestSerializer
def get_queryset(self):
me = Studs(self.request.user)
tests = me.toTake_Tests(1) …Run Code Online (Sandbox Code Playgroud)