Not as a property, unfortunately.
The available properties in the Django User model are
- username
- password
- first name
- last name
But doing the filter anyways would look like this
User.object.filter(first_name="Jimminy", last_name="Cricket")
What you could do is create a custom form of profile.
class UserProfile(models.Model):
full_name = models.CharField()
user = models.ForeignKey(User)
def save(self, *args, **kwargs):
self.full_name = "Jimminy Cricket" #but not hardcoded ofc.
super(UserProfile, self).save(*args, **kwargs)
and filter on it like so
profile = UserProfile.objects.get(full_name="Jimminy Cricket")
print profile.user
Update 15/4-2018
You could also do achieve the same by using the Q object
from django.db.models import Q
from django.contrib.auth import get_user_model
UserModel = get_user_model()
UserModel.objects.filter(Q(first_name='Jiminy'), Q(last_name='Cricket'))
Which would output the following SQL
'SELECT "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "auth_user" WHERE ("auth_user"."first_name" = Jiminy AND "auth_user"."last_name" = Cricket)'
And thusly getting rid of the intermediate model/form.