3

有许多问题看起来与我的相似,但似乎都没有涵盖我的特定表述。抱歉,如果我错过了涵盖此内容的内容。

我有一个美味的模型资源,它代表一个带有外键的模型。我希望能够创建该类型的新资源,但我不想将外键的模型暴露给 api。

为其添加资源会很好,但我不希望站点代码外部的任何内容能够读取/写入外键。不过,从我到目前为止的尝试来看,如果相应的外键模型也具有可以创建的资源,那么美味派似乎只能处理这种类型的外键。我只想能够创建引用现有外键对象的模型,不允许创建新的。

这是可以在美味派中完成的事情吗?如果是这样,我需要做什么才能做到这一点?如果没有,是否有某种解决方法/妥协?

4

1 回答 1

3

如果您不希望外键在 api 上可见,请不要在资源中为其创建字段。如果您需要在创建/更新时为其指定一些值,您可以覆盖此资源的 obj_create/obj_update 美味派方法。例如:

def obj_create(self, bundle, request=None, **kwargs):
    obj = super(YourResource, self).obj_create(bundle, request, **kwargs)
    obj.yourforeighnkey = somevalue
    obj.save()
    return obj   
于 2013-03-13T16:04:22.437 回答