在Django中,可以通过管理外键小部件来在管理中间页面中重用外键字段的展示和编辑控件。下面是如何在管理中间页面中重用Django的管理外键小部件的步骤:
Author
和Book
,其中Book
模型类有一个外键字段author
指向Author
模型类。from django.db import models
class Author(models.Model):
name = models.CharField(max_length=100)
# 其他字段...
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
# 其他字段...
django.contrib.admin.widgets.ForeignKeyRawIdWidget
。在该自定义小部件类中,可以重写一些方法,以实现我们的定制化需求。from django.contrib.admin.widgets import ForeignKeyRawIdWidget
class CustomForeignKeyWidget(ForeignKeyRawIdWidget):
def url_parameters(self):
# 自定义URL参数
params = super().url_parameters()
params.update({'custom_param': 'value'})
return params
formfield_overrides
属性将自定义的小部件类应用于相应的外键字段。from django.contrib import admin
class BookAdmin(admin.ModelAdmin):
formfield_overrides = {
models.ForeignKey: {'widget': CustomForeignKeyWidget},
}
admin.site.register(Book, BookAdmin)
通过以上步骤,我们成功地重用了Django的管理外键小部件,并在管理中间页面中对外键字段进行定制化展示和编辑。
关于Django管理外键小部件的更多信息,请参考腾讯云文档中的介绍:Django管理外键小部件
领取专属 10元无门槛券
手把手带您无忧上云