首页 > 解决方案 > 使用 Django 创建层次关系,如 REST Api

问题描述

Django的新手。我知道那里有 Django to Swagger 生成器,但我想要的是其他方式。

我想创建 REST API:

GET api/job/{id} 
POST api/job/{id}

GET api/job/{id}/status
POST api/job/{id}/status

我认为这个项目不需要关系数据库,但现在我坚持使用它。我的模型文件如下所示:

class Job(models.Model):
    job_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    some_arg = models.TextField()


class ChoicesEnum(Enum):
    @classmethod
    def choices(cls):
        return tuple((i.name, i.value) for i in cls)


class Status(models.Model):

    class JobStatus(ChoicesEnum):
        NOT_STARTED = 0
        IN_PROGRESS = 1
        SUCCEEDED = 2
        FAILED = 3

    job_id = models.OneToOneField(
        Job,
        on_delete=models.CASCADE,
        primary_key=True,
    )
    job_status = models.CharField(max_length=1, choices=JobStatus.choices())

但我不确定我应该如何为这两个创建视图,这样它们就会相关。听起来很简单,但我无法理解。

标签: pythondjangorest

解决方案


推荐阅读