tef*_*ozi 8 python django serialization
我有一个Django继承模型序列化的问题.例如
class Animal(models.Model):
color = models.CharField(max_length=50)
class Dog(Animal):
name = models.CharField(max_length=50)
...
# now I want to serialize Dog model with Animal inherited fields obviously included
print serializers.serialize('xml', Dog.objects.all())
Run Code Online (Sandbox Code Playgroud)
只有Dog模型已被序列化.
我可以做得像
all_objects = list(Animal.objects.all()) + list(Dog.objects.all())
print serializers.serialize('xml', all_objects)
Run Code Online (Sandbox Code Playgroud)
但它看起来很难看,因为我的模型非常大,所以我必须使用SAX解析器,并且使用这样的输出很难解析.
知道如何用父类序列化django模型吗?
**编辑:**在使用此补丁之前,它可以正常工作.并解释为什么补丁存在"模型保存在反序列化期间过于积极地创建新的父类实例.模型上的原始保存现在跳过保存父类."我认为应该有一个选项可以序列化"本地仅字段"默认情况下和第二个选项 - "全部" - 序列化所有继承的字段.
你看了吗select_related()?如
serializers.serialize('xml', Dog.objects.select_related().all())
Run Code Online (Sandbox Code Playgroud)