我有2个型号:
class Offer:
code = ...
company = ....
class Product:
price = models.DecimalField
name = models.CharField
offer = models.ForeignKey(Offer)
在admin中,在显示所有Products实例的changelist视图中,我希望当您单击Product实例时,您将在changeview上重定向,以编辑Product的外键所指向的Offer。
答案 0 :(得分:2)
您应该覆盖change_view
的{{1}}方法,如下所示:
ModelAdmin
将from django.contrib import admin
from django.shortcuts import redirect
from yourapp.models import Product
class ProductAdmin(admin.ModelAdmin):
def change_view(request, object_id, form_url='', extra_context=None):
return redirect(
"admin:yourapp_offer_change",
args=(Product.objects.get(pk=object_id).offer.pk,)
)
admin.site.register(Product, ProductAdmin)
替换为您拥有yourapp
和Offer
模型的Django应用程序的名称。