利用 from django.core import serializers 的方法实现。
from django.core import serializers
data = serializers.serialize("json", SomeModel.objects.all())
data1 = serializers.serialize("json", SomeModel.objects.filter(myfield1=myvalue))
<span style="font-family:Helvetica Neue, Helvetica, Tahoma, Arial, STXihei, Microsoft YaHei, 微软雅黑, sans-serif;"><span style="font-size: 16px; line-height: 27.2px; background-color: rgb(254, 254, 254);">序列化外键:</span></span>
<span style="font-family:Helvetica Neue, Helvetica, Tahoma, Arial, STXihei, Microsoft YaHei, 微软雅黑, sans-serif;"><span style="font-size: 16px; line-height: 27.2px; background-color: rgb(254, 254, 254);"></span></span><pre name="code" class="python">class Person(models.Model):
objects = PersonManager()
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
birthdate = models.DateField()
def natural_key(self):
return (self.first_name, self.last_name)
class Meta:
unique_together = (('first_name', 'last_name'),)
<pre name="code" class="python"><span style="font-size:18px;">serializers.serialize('json', queryset,use_natural_foreign_keys=True, use_natural_primary_keys=True)</span>
详情见:http://python.usyiyi.cn/django/topics/serialization.html