我有一个名为Country的模型的模型。
每当我在管理员中编辑我的模型时,在diplaying the country选项时,我会看到很多contries。我希望该选项列表可以通过用户属性(例如user.get_profile()。continent)进行预过滤。
我可以在哪里挂钩?
谢谢
答案 0 :(得分:1)
检查http://docs.djangoproject.com/en/dev/ref/contrib/admin/ - “ModelAdmin.formfield_for_choice_field()”
class MyModelAdmin(admin.ModelAdmin):
def formfield_for_choice_field(self, db_field, request, **kwargs):
if db_field.name == "country":
kwargs['choices'] = get_country_choices_for_continent(request.user.get_profile().continent)
return super(MyModelAdmin, self).formfield_for_choice_field(db_field, request, **kwargs)