Django 1.5 Custom User Model unknown column -
i using django 1.5s custom user model. want let user type username in - , logged in. no password (for testing anyway). user model doesnt have password. when try login admin following error:
operationalerror(1054, "unknown column 'hrms.password' in 'field list'" it seems trying execute query in authenticate() method.
select `myusers`.`password`, `myusers`.`last_login`, `myusers`.`id`, `myusers`.`user`, `myusers`.`name`, `myusers`.`firstname`, `myusers`.`lastname`, `myusers`.`organisation`, `myusers`.`unit`, `myusers`.`grade`, `myusers`.`email`, `myusers`.`position`, `myusers`.`manager` `myusers` `myusers`.`user` = 'warrenm' " i not have fields password, last_login - dont know why trying them.
below code.
my backend (auth.py)
from epmds.application.models import authuser class mybackend(object): def get_user(self, user_id): # user user_id try: return authuser.objects.get(pk=user_id) except authuser.doesnotexist: return none def authenticate(self, username=none, password=none): # check username/password , return user user = authuser.objects.get(user=username) return user my model
class authuser(abstractbaseuser): id = models.charfield(primary_key=true, max_length=15) user = models.charfield('username', max_length=20, unique=true) name = models.charfield(max_length=100) firstname = models.charfield(max_length=100) lastname = models.charfield(max_length=100) organisation = models.charfield(max_length=100) email = models.charfield(max_length=50, blank=true, null=true) username_field = 'user' def get_full_name(self): full_name = '%s %s' % (self.first_name, self.last_name) return full_name.strip() def get_short_name(self): return self.first_name class meta: ordering = ('lastname', 'firstname') managed = false db_table = 'myusers'
password part of abstractbaseuser should added in authuser model in table.
as have managed=false model, need add explicitly.
Comments
Post a Comment