假设我有以下模型。
class Department(models.Model):
name = models.CharField(max_length=255)
class Student(models.Model):
department = models.Foreignkey(Department, on_delete=models.CASCADE)
name = models.CharField(max_length=255)
现在,每当我创建学生Department(which is created already)
时,我都需要设置Student
中的instance
。
最佳实践
i) Sending the department id in URI like `departments/{pk}/students`
ii) sending department id in body parameter
答案 0 :(得分:1)
始终最好将敏感数据(例如id)作为Post请求发送,而不要作为URL args传递。如果您确实要在URL中传递数据,请使用slugs而不是ID。
此外,您可以使用DRF model serializer保存数据
答案 1 :(得分:1)
在这种情况下,最好在正文中发送部门ID,并使端点保持简单
{base}/api/student/
对此端点进行HTTP POST
{
"department_id":"",
.
.
}
通过查看此端点,可以清楚地显示涉及student
对象的操作的端点,我想说它更接近REST
标准。