M
M
Mooris2018-06-06 10:03:43
Django
Mooris, 2018-06-06 10:03:43

How to return full_name in Django models.ForeignKey(User)?

Hello, tell me how to return the full full_name in Django models.ForeignKey(User) ?
There is a model:

class Master(models.Model):
   master = models.ForeignKey(User, on_delete=models.CASCADE)

The field indicates only the login, how to return the full name and surname of the user
5b17866750fcc140727680.jpeg

Answer the question

In order to leave comments, you need to log in

1 answer(s)
S
Sergey Gornostaev, 2018-06-06
@Mooris

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)

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question