Python 如何使用django rest框架形成create方法将数据保存到数据库

Python 如何使用django rest框架形成create方法将数据保存到数据库,python,json,django,serialization,django-rest-framework,Python,Json,Django,Serialization,Django Rest Framework,我正在尝试使用Django中的序列化程序使用drf将JSON文件中的数据反序列化保存到数据库中,以下是我的模型: from django.db import models class elements(models.Model): id=models.CharField(primary_key=True,max_length=100) slug=models.CharField(max_length=100) name=models.C

我正在尝试使用Django中的序列化程序使用drf将
JSON
文件中的数据反序列化保存到数据库中,以下是我的模型:

    from django.db import models

    class elements(models.Model):
       id=models.CharField(primary_key=True,max_length=100)
       slug=models.CharField(max_length=100)
       name=models.CharField(max_length=100)
       courseType=models.CharField(max_length=100)
    def __str__(self):
       return "%s %s %s %s" % (self.id, self.slug,self.name,   self.courseType)
    class types(models.Model):
       elements=models.ForeignKey(elements, on_delete=models.CASCADE)
序列化程序文件如下所示:

    from rest_framework import serializers
    from serial.models import elements,types
    class elementserializer(serializers.ModelSerializer):
      class Meta:
        model = elements
        field=('id','name','slug','courseType')
    class courseserial(serializers.ModelSerializer):
      elements=elementserializer(many=True)
      class Meta:
        model = types
        field=('elements') 
    def create(self, validated_data):
        elements_data = validated_data.pop('elements')
        types = types.objects.create(**validated_data)
        for elements_data in elements_data:
           elements.objects.create(types=types, **elements_data)     
        return types
即使在我尝试使用文档时,我使用的create方法也会不断出错。有人能告诉我一种更好的方法来编写create方法,以便使用序列化程序将数据保存到数据库中。我使用的创建方法如下所示:

    from rest_framework import serializers
    from serial.models import elements,types
    class elementserializer(serializers.ModelSerializer):
      class Meta:
        model = elements
        field=('id','name','slug','courseType')
    class courseserial(serializers.ModelSerializer):
      elements=elementserializer(many=True)
      class Meta:
        model = types
        field=('elements') 
    def create(self, validated_data):
        elements_data = validated_data.pop('elements')
        types = types.objects.create(**validated_data)
        for elements_data in elements_data:
           elements.objects.create(types=types, **elements_data)     
        return types