我正在开发一个具有多个用户个人资料模型的应用,OneToOne字段为auth.User。对于特定类型的配置文件的仪表板,比如VendorSales,更好的做法是编写一个在网址中包含VendorSales ID的DetailView,或者仅使用没有url pk和引用请求的TemplateView。模板中的user.vendorsales和上下文数据中的self.request.user.vendorsales?
答案 0 :(得分:0)
使用DetailView
时,您不需要URL中的主键或slug - 您可以覆盖get_object
并通过self.request.user
访问该对象。
def get_object(self):
return self.request.user.vendorsales
无论您使用DetailView
还是TemplateView
,都可能会发现LoginRequiredMixin
对限制对视图的访问非常有用。
答案 1 :(得分:0)
如果您希望自己的视图重新加载,则应在网址中添加某种ID。
如果您希望您的模型以RESTfull方式使用app / api,那么您应该考虑不只是放入一个网址,而且还要将此视图理解为新的资源 - >导致新视图与用户视图几乎没有连接(链接网址除外)。