Установить начальное значение поля формы в админке Django formfield_for_foreignkey - PullRequest
0 голосов
/ 12 июля 2020

У меня есть следующий код в моем Django admin:

def formfield_for_foreignkey(self, db_field, request, **kwargs):
     if db_field.name == 'affected_user':
         kwargs['initial'] = request.user.id
     return super().formfield_for_foreignkey(db_field, request, **kwargs)

и affected_user поля в модели выглядят так:

affected_user = models.ForeignKey(User, on_delete=models.CASCADE)

Что бы я хотел получить из этого affected_user присвоено конкретное начальное значение. К сожалению, похоже, что это не работает, потому что я получаю первую запись из таблицы в качестве начального значения, а запрошенный пользователь имеет ID посередине.

Может кто-нибудь объяснить, почему это так? Что я знаю точно, так это то, что это правильно входит в этот оператор if. Но не сохраняет свое начальное значение.

1 Ответ

1 голос
/ 12 июля 2020
def get_changeform_initial_data(self, request):
    return {'affected_user': request.user}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...