I want to change a names of items (users) in drop down list in Django Admin Model. I want to do it without any changes in basic models.
I just want to field 'user'(admin.py) refers to 'user' in Worker model(office.py) through username (just without Firstname and Lastname)
admin.py
from .models import Token
class TokenAdmin(admin.ModelAdmin):
model = Token
fieldsets = (
(None, {
'fields': ('name', 'key', 'user')
}),
models.py
from office.models import Worker
class Token(models.Model):
user = models.ForeignKey(
Worker,
related_name='auth_token',
verbose_name=_("api.models.token.user")
)
office.py
class Worker(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL, verbose_name=_("User"))
firstname = models.CharField(
_("Firstname"), blank=False, null=False, max_length=50)
lastname = models.CharField(
_("Lastname"), blank=False, null=False, max_length=50)
def __str__(self):
return "%s %s" % (self.lastname, self.firstname)