编辑 - 这是使用Python 3.3和Django 1.6
我不知道我在这里做错了什么。
views.py
from django.core import serializers
from django.core.serializers import serialize
from django.http import HttpResponse
from itertools import chain
def test_queryjoin(request):
jobmstquery = Jobmst.objects.using('database1').filter(jobmst_id=3296)
jobdtlquery = Jobdtl.objects.using('database1').filter(jobdtl_id=3296)
queryset = list(chain(jobmstquery, jobdtlquery))
queryresults = serializers.serialize('python', queryset)
return HttpResponse(queryset)
但是当我运行它时,我收到以下错误 -
'module'对象没有属性'serialize'
在这一特定行 -
queryresults = serializers.serialize('python', queryset)
编辑 - 执行以下操作仍会生成相同的错误 -
queryresults = serializers.serialize('json', jobmstquery)
与此相同 -
queryresults = serializers.serialize('json', Jobmst.objects.using('database1').filter(jobmst_id = 3296))
编辑 - 这变得越来越怪......它可以从shell中运行......
from django.core import serializers
from django.core.serializers import serialize
from TidalDEV.models import Jobmst
jobmstquery = Jobmst.objects.using('database1').filter(jobmst_id=3296)
queryresults = serializers.serialize('json', jobmstquery)
print (queryresults)
答案 0 :(得分:3)
更改 serializers.serialize('json',jobmstquery) 至 serialize('json',jobmstquery)
您正在导入'serialize'本身,因此您不应将其作为模块的一部分进行调用,只是单独使用。