Как указать значение по умолчанию на основе запроса поля в форме создания TabularInlinePython

Программы на Python
Anonymous
Как указать значение по умолчанию на основе запроса поля в форме создания TabularInline

Сообщение Anonymous »

У меня есть модель, в которой есть поле Language_code:

Код: Выделить всё

class SkillSynonym(StandardModel):
"""SkillSynonym class"""

skill = models.ForeignKey(
Skill, on_delete=models.CASCADE, related_name="synonyms"
)

name = models.CharField(max_length=200)

language_code = models.CharField(
db_index=True,
max_length=8,
verbose_name="Language",
choices=settings.LANGUAGES,
default=settings.LANGUAGE_CODE,
)

class Meta:
unique_together = ("name", "language_code")

def __str__(self) -> str:
"""SkillSynonym object representation."""
return f"{self.name}"
Затем это редактируется через администратора TabularInline внутри SkillAdmin:

Код: Выделить всё

class SkillSynonymInline(admin.TabularInline):
model = SkillSynonym
extra = 0

def get_queryset(self, request: HttpRequest):
queryset = super().get_queryset(request)

language_code = request.GET.get("language", "en")
if language_code:
queryset = queryset.filter(language_code=language_code)

return queryset
Как видите, я уже фильтрую записи, которые будут отображаться во встроенном поле, с помощью языкового параметра GET. Это устанавливается расширением parler в родительской панели администратора.
Я также хотел бы установить значение по умолчанию для языка_кода в форме создания для TabularInline
Я пробовал переопределить get_formset, но не знаю, что с этим делать.

Подробнее здесь: https://stackoverflow.com/questions/789 ... te-form-of

Вернуться в «Python»