Задать вопрос
Mooris
@Mooris

Как в Django models.ForeignKey(User) вернуть полное full_name?

Здравствуйте, подскажите, как в Django models.ForeignKey(User) вернуть полное full_name ?
Существует модель:
class Master(models.Model):
   master = models.ForeignKey(User, on_delete=models.CASCADE)

В поле указывается только логин, как вернуть полное имя и фамилию пользователя
5b17866750fcc140727680.jpeg
  • Вопрос задан
  • 564 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
class MasterChoiceField(forms.ModelChoiceField):
     def label_from_instance(self, obj):
         return obj.get_full_name()


class MasterAdmin(admin.ModelAdmin):
    ...

    def formfield_for_foreignkey(self, db_field, request, **kwargs):
        if db_field.name == 'master':
            return MasterChoiceField(queryset=User.objects.all())
        return super().formfield_for_foreignkey(db_field, request, **kwargs)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы