我不确定如何在标题中完整地说明这一点,所以请原谅我。本质上,我想定义一个 get_object() 方法,就像这里描述的那样
但以抽象的方式。例如,假设我想像这样扩展 APIView
class BetterAPIView(APIView):
def get_object(self, pk):
try:
return ***Class name***.objects.get(pk=pk)
catch:
raise Http404
这样当我定义一个视图时,这个 get_object 方法就会自动定义。例如,如果我对博客文章的看法是
class BlogDetail(BetterAPIView):
def get(self, request, pk, format=None):
Post = Post.get_object(pk)
我希望 get_object 方法自动知道 Post.get_object(pk) 意味着我想从 Post 模型中获取一个对象,其中 pk 在 get 方法中给出。我猜也许 BlogDetail 应该有某种init方法来定义如何处理我正在使用的模型的名称,但我不太确定这将如何工作