(Django / Python) Как ограничить выбор одного поля? - PullRequest
0 голосов
/ 19 сентября 2018

Я использую метод бедняков для предоставления переведенного контента.Для этого я добавил поля перевода для каждого языка в модели.

Эти поля являются однотонными полями, так как для каждого контента может быть только один перевод на язык.

Как я могу ограничитьвыбор этих полей в админке?Суть в том, чтобы предоставить контент (экземпляры модели) с атрибутом lang, установленным на ceartain language, т.е. en для поля translations_en.

В документации Django не указано одно поле на https://docs.djangoproject.com/en/2.0/ref/contrib/admin/

1 Ответ

0 голосов
/ 19 сентября 2018

Вы пытались переписать метод ModelAdmin.formfield_for_foreignkey(db_field, request, **kwargs), как описано в документации ?

class MyModelAdmin(admin.ModelAdmin):
    def formfield_for_foreignkey(self, db_field, request, **kwargs):
        if db_field.name == "translation":
            kwargs["queryset"] = Translation.objects.filter(lang="en")
        return super().formfield_for_foreignkey(db_field, request, **kwargs)
...