यह बहुत निराशाजनक है। Django के serialization सब कुछ के बारे में शिकायत करता है जो एक क्वेरी सेट नहीं है और json.dumps Django के ORM समर्थन से ऑब्जेक्ट्स के बारे में शिकायत करता है।
>>> from cluster.models import Account
>>> import json
>>> json.dumps(Account.objects.all()[0])
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/encoder.py", line 201, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/encoder.py", line 264, in iterencode
return _iterencode(o, 0)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/encoder.py", line 178, in default
raise TypeError(repr(o) + " is not JSON serializable")
TypeError: <Account: 9de5-2653-000d-81a3 => [email protected]> is not JSON serializable
बनाम
>>> serializers.serialize("json", [clusters])
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/serializers/__init__.py", line 91, in serialize
s.serialize(queryset, **options)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/serializers/base.py", line 41, in serialize
for field in obj._meta.local_fields:
AttributeError: 'QuerySet' object has no attribute '_meta'
स्रोत
2012-03-17 01:49:26
आप जिस मॉड्यूल का उपयोग कर रहे हैं उसके समान नाम के साथ फ़ंक्शन को परिभाषित क्यों कर रहे हैं? –
@gnibbler यह एक फ़ंक्शन नहीं है। यह एक विधि है और मैं इसे @property के रूप में उपयोग कर रहा हूं (इसमें मेरे उदाहरण में शामिल नहीं है)। – orokusaki
मुझे वापस देखकर प्यार है कि मैं कितना स्मग था, '... त्रुटि बेवकूफ थी। – orokusaki