我想知道是否有办法覆盖django管理员视图中的字段。我希望在显示特定字段时在我的视图中显示特定信息。我已经阅读了有关how to customize the default behaviour of django's admin module的文档。例如,我正在查看includes/fieldset.html
,但我无法找到block
标记来覆盖它。
有什么想法吗?
答案 0 :(得分:0)
您正在寻找的可能是django管理员的ForeignKey功能的格式码。
ModelAdmin上的formfield_for_foreignkey方法允许您覆盖外键字段的默认表单字段。例如,要根据用户返回此外键字段的对象子集:
class MyModelAdmin(admin.ModelAdmin):
def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == "car":
kwargs["queryset"] = Car.objects.filter(owner=request.user)
return super(MyModelAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
这使用HttpRequest实例过滤Car外键字段,仅显示User实例拥有的汽车。
Read the doc on the django.contrib.admin for a better understanding
希望这有帮助。