I have many Models linked to User and I’d like my templates to always display his full_name if available. Is there a way to change the default User __unicode__() ? Or is there another way to do it ?
I have a profile model registered where I can define the __unicode__(), should I link all my models to it ? Seems not a good idea to me.
Imagine I need to display the form for this object
class UserBagde
user = model.ForeignKey(User)
badge = models.ForeignKey(Bagde)
I will have to select box with __unicodes__ of each object, won’t I ?
How can I have full names in the user’s one ?
Try this:
EDIT
Apparently what you want already exists..
https://docs.djangoproject.com/en/dev/ref/contrib/auth/#django.contrib.auth.models.User.get_full_name
ALSO
if its imperative that the unicode function be replaced:
Fallback if name fields are empty