【发布时间】:2023-03-21 18:25:01
【问题描述】:
我有一个名为 Blueprint 的模型类:
class Blueprint(models.Model):
name = models.CharField(max_length=120)
description = models.TextField()
workloads = models.CharField(choices=WORKLOAD_CHOICES)
class Meta:
ordering = ["name", ]
此模型具有名为工作负载的子级。
对 django 和 sweetpie 来说都是全新的,我有一个问题:
1) 我在哪里执行逻辑,该逻辑检索工作负载列表,并填充 WORKLOAD_CHOICES:在 models.py(作为 init 的一部分)或 api.py 作为def obj_get 的一部分?
附:这是api.py:
class BlueprintResource(ModelResource):
def obj_create(self, bundle, request=None, **kwargs):
return super(BlueprintResource, self).obj_create(bundle, request)
def obj_update(self, bundle, request=None, **kwargs):
blueprint = Blueprint.objects.get(id=kwargs.get("pk"))
blueprint.description = bundle.data.get("description")
blueprint.name = bundle.data.get("name")
blueprint.workloads = bundle.data.get("workloads")
blueprint.save()
def obj_delete(self, bundle, **kwargs):
return super(BlueprintResource, self).obj_delete(bundle)
class Meta:
queryset = Blueprint.objects.all()
resource_name = 'blueprint'
authorization=Authorization()
【问题讨论】:
-
您希望将
WORKLOAD_CHOICES元组中的值作为资源返回? -
我需要将这些 WORKLOAD_RESOURCES 作为“附加”到工作负载属性的值列表返回。我确实有一个名为 Workload 的单独模型类,并且我需要在 Blueprint 和 Workload 模型之间进行多对多。因此,在这种特殊情况下,我需要返回一个蓝图实例,其工作负载字段表示为相关工作负载对象的列表
标签: django django-models tastypie