我是Django Rest Framework的新手 我有两个Django模型
class Course(models.Model):
courseId = models.CharField(max_length = 10, primary_key = True)
class Student(models.Model):
name = models.CharField(max_length = 200)
studentId = models.CharField(max_length = 10, primary_key = True)
course = models.ForeignKey(Course , blank = True)
我知道django有一个默认的主键字段 但是我想将主键CourseId用于Course表,将StudentId字段用于Student表。 现在,我想通过django rest框架通过传递json数据来创建Student表的课程字段
data = {'name': 'newName', 'courseId': '8uheydg4er'}
创建新学生时,将在序列化程序类中生成唯一的学生ID。 现在,我想首先检查一下courseId是否存在。如果json文件具有courseId并且在课程表中存在,那么我们将创建一个新学生。如果Course表中没有课程ID,则将存在无效课程ID的验证错误
如何验证这种情况下的课程编号
views.py
@api_view(['GET', 'POST'])
def Student(request)
if request.method == 'POST':
serializer = StudentSerializers(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
我想尝试编写序列化器
serializers.py
class StudentSerializers(serializers.ModelSerializer):
class Meta:
model = Student
fields = ('name', 'studnetId', 'courseId')
def create(serializers.ModelSerializer):
instance = Order.objects.create(**validated_data)
return instance
如何通过Django序列化程序创建。 请帮助。
谢谢!