У меня есть следующий код в моем 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. Но не сохраняет свое начальное значение.