首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何设置success_url重定向回与UpdateView中引用的模型不同的模型?

在Django的UpdateView中,我们可以通过重写get_success_url()方法来设置success_url重定向回与UpdateView中引用的模型不同的模型。

首先,我们需要引入reverse函数和要重定向到的模型的DetailView视图。

代码语言:txt
复制
from django.urls import reverse
from django.views.generic import DetailView

接下来,在UpdateView的子类中,重写get_success_url()方法。我们可以根据需要获取引用的模型的实例,然后使用reverse()函数根据模型实例的属性生成重定向URL。最后,我们可以将URL作为返回值。

代码语言:txt
复制
class YourUpdateView(UpdateView):
    model = YourModel
    form_class = YourForm

    def get_success_url(self):
        # 获取引用的模型实例
        instance = self.object.your_foreign_key_field

        # 生成重定向URL
        success_url = reverse('your_detail_view', kwargs={'pk': instance.pk})
        return success_url

在上面的代码中,your_foreign_key_field是UpdateView引用模型中的外键字段。your_detail_view是与重定向模型关联的DetailView的名称。

请注意,上述代码中的YourModel是您使用的实际模型,YourForm是用于更新模型实例的表单。

这样,当在UpdateView中成功更新模型实例时,将重定向到与UpdateView中引用的模型不同的模型的详细视图。

推荐的腾讯云产品:腾讯云云服务器(CVM)和腾讯云数据库 MySQL。您可以在腾讯云官方网站了解更多关于这些产品的详细信息:

请注意,这些推荐的产品仅供参考,您可以根据具体需求选择适合的产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券