Django admin - 如何更改内联选项?

tun*_*rob 3 django django-admin

如何更改内联类中字段的选择?我不能在 Inlines 中使用 formfield_for_choice_field,那该用什么?我必须在管理员中生成它,因为我需要通过请求。

eos*_*s87 5

如果您的字段是具有选择属性的 IntegerField 或Charfield,则可以使用以下内容覆盖内联类中的formfield_for_choice_field方法:

class YourInline(admin.StackedInline): # or TabularInline
    model = YourModelName

    def formfield_for_choice_field(self, db_field, request=None, **kwargs):
        if db_field.name == 'YOUR_FIELD_NAME':
            kwargs['choices'] = (('', '---------'), ('1', 'Choice1'), ('2', 'Choice2'))
        return db_field.formfield(**kwargs)
Run Code Online (Sandbox Code Playgroud)

祝你好运