【发布时间】:2019-08-20 06:55:09
【问题描述】:
我已经学习 Django 框架 3-4 个月了,但有一件事情最让我烦恼,我还无法找到满意的答案。当我们在基于类的视图中定义函数/方法时,请执行创建某个对象时会自动调用它们吗?就像我们使用
@action(detail=False)
def recent_users(self, request):
recent_users = User.objects.all().order_by('-last_login')
page = self.paginate_queryset(recent_users)
if page is not None:
serializer = self.get_serializer(page, many=True)
return self.get_paginated_response(serializer.data)
serializer = self.get_serializer(recent_users, many=True)
return Response(serializer.data)
这个方法将如何执行?我们是否必须创建一个对象并像 obj.method 一样调用?
那些get() get_queryset() 方法如何与基于类的视图一起工作?他们如何处理来自模型的数据?
最后一个问题是这两者的混合。
我可以在 ClassBasedView 中创建一个新方法吗?如果是,我该如何执行? 作为回报并在模板中呈现数据?
请不要提供任何链接。我只想用简单的英语来了解。如果有人知道,那将非常有帮助。
【问题讨论】:
-
您是否检查过
view是什么,为什么/如何使用它以及如何调用/执行它? -
我说的是基于类的视图。
get()方法是怎么调用的? ti 会被自己调用吗>
标签: python oop django-rest-framework django-views django-class-based-views