Django models 如何在另一个';s模型序列化程序?
我有两种型号:Django models 如何在另一个';s模型序列化程序?,django-models,django-rest-framework,Django Models,Django Rest Framework,我有两种型号:Content和Address。每个内容都有一个地址,因此模型如下所示: class Content(models.Model): .... class Address(model.Model): content = OneToOneField(Content) .... 现在,我想调整ContentSerializer,以便可以为其中的地址传递数据 class Content(serializers.ModelSerializer): address
Content
和Address
。每个内容都有一个地址,因此模型如下所示:
class Content(models.Model):
....
class Address(model.Model):
content = OneToOneField(Content)
....
现在,我想调整ContentSerializer
,以便可以为其中的地址传递数据
class Content(serializers.ModelSerializer):
address = ContentAddressSerializer()
class Meta:
model = Content
fields = ('address')
def create(self, validated_data):
if "address" in validated_data:
address = validated_data.pop('address')
Address.objects.create(**address)
validated_data['editor'] = self.context['request'].user
return Content.objects.create(**validated_data)
我成功地创建了一个
地址
,但是当调用to_representation
方法时,我得到了一个AttributeError
。有没有比重写to_表示法
更好更简单的方法?如果您的模型名称是Content和Address,为什么要使用Content\u Address?该名称实际上是Content\u Address,但在帖子中更改了它。我改变了他们。