相关疑难解决方法(0)

如何在路由器上注册单个视图(而不是视图集)?

我正在使用Django REST框架,并一直在尝试创建一个返回一小部分信息的视图,并在我的路由器上注册它.

我有四个存储信息的模型,所有模型都有一个created_time字段.我试图在一个视图中创建一个返回最新对象(基于created_time)的视图,其中只返回四个创建时间.

因此,视图中可能的JSON输出看起来像

{
    "publish_updatetime": "2015.05.20 11:53",
    "meeting_updatetime": "2015.05.20 11:32",
    "training_updatetime": "2015.05.20 15:25",
    "exhibiting_updatetime": "2015.05.19 16:23"
}
Run Code Online (Sandbox Code Playgroud)

我也希望在我的路由器上注册这个视图,因此当加载API根时,它会显示在我的其他端点上.

router.register(r'updatetime', views.UpdateTimeView)
Run Code Online (Sandbox Code Playgroud)

以下是我尝试使用的四种型号

class Publish(models.Model):
    user = models.ForeignKey(MyUser)
    name = models.CharField(max_length=50)
    created_time = models.DateTimeField( default=datetime.now)

class Meeting(models.Model):
    user = models.ForeignKey(MyUser)
    name = models.CharField(max_length=50)
    file_addr = models.FileField(upload_to=get_file_path)
    created_time = models.DateTimeField(default=datetime.now)

class Training(models.Model):
    user = models.ForeignKey(MyUser)
    name = models.CharField(max_length=50)
    image = models.ImageField(upload_to=get_file_path, max_length=255)
    created_time = models.DateTimeField(default=datetime.now)

class Exhibiting(models.Model):
    user = models.ForeignKey(MyUser)
    name = models.CharField(max_length=50)
    file_addr = models.FileField(upload_to=get_file_path)
    created_time = …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

46
推荐指数
1
解决办法
8758
查看次数

标签 统计

django ×1

django-rest-framework ×1

python ×1