Python Django Rest框架:可写嵌套序列化程序获取或创建

Python Django Rest框架:可写嵌套序列化程序获取或创建,python,django-rest-framework,Python,Django Rest Framework,我试图创建一个可写的嵌套序列化程序,如果外键对象不存在,就会创建它,有点像这样: class A(models.Model): x = models.CharField() class B(models.Model): a = models.ForeignKey(A) y = models.CharField() class ASerializer(serializers.ModelSerializer): class Meta: model

我试图创建一个可写的嵌套序列化程序,如果外键对象不存在,就会创建它,有点像这样:

class A(models.Model):
    x = models.CharField()

class B(models.Model):
    a = models.ForeignKey(A)
    y = models.CharField()

class ASerializer(serializers.ModelSerializer):
    class Meta:
        model = A

class BSerializer(serializers.ModelSerializer):
    a = ASerializer()

    class Meta:
        model = B

    def create(self, validated_data):
        a_data = validated_data.pop('a', None)

        try:
            a = A.objects.get(x=a_data.get('x', None))
        except A.DoesNotExist:
            a = A.objects.create(**a_data)

        b = B.objects.create(a=a, **validated_data)
        return b
我希望能够接受POST请求,这些请求可以检查一个实例是否已经存在。 如果不是,它会自动创建并将其与B关联。这是正确的方法吗?我刚在我的帖子上得到一个错误500。
我已经被困了一天,不知道该如何处理这个问题。需要帮助,非常感谢,谢谢

请添加错误消息好吗?