Hi,

Thank you for your answer and this interesting link.
But in this example, the class used is AbstractBaseUser. Can I just follow 
this example if I use AbstractUser.

In fact my initial question was more related to a general understanding of 
Django and the differences between AbstractBaseUser and AbstractUser.

Thanks again

Arnaud

Le jeudi 29 mai 2014 13:24:04 UTC-2:30, C. Kirby a écrit :
>
> The django documentation has a full example with code of using custom user 
> models 
> here<https://docs.djangoproject.com/en/1.6/topics/auth/customizing/#a-full-example>
>
> On Thursday, May 29, 2014 8:06:24 AM UTC-5, Geotribu wrote:
>>
>> Hi Guys,
>>
>> I've developed a couple of website using Django, but this is the first 
>> time I must develop one that integrates a user authentication process and 
>> the possibility to have some roles.
>> Thanks to Django's flexibility, it looks like very easy to do it and 
>> pretty straightforward.
>> From my understanding there are two ways to extend Django's User Modl:
>>
>>    - The firs one uses the *AbstractUser *class and allow to extends the 
>>    current Django's User Model by adding some additional profile information
>>
>>
>>    - The second one uses *AbstractBaseUser *that only keeps the most 
>>    important fields of the Django's User Model (e.g. password)
>>
>>
>> For my project, I've followed the documentation and I've extended the 
>> current Django's User Modelusing the *AbstractUser *class.
>> Lets take the following example of a user and for all of them a company :
>>
>> *In one of my model :*
>> class CustomUser(AbstractUser):
>>         company_name = models.CharField(max_length=255)
>>
>> *In my settings.py:*
>> AUTH_USER_MODEL = 'myCustomuserApp.CustomUser'
>>
>> Then I use the syncdb command line, to update my database. Regarding this 
>> process I've got a couple of questions:
>>    
>>    1. After the syncdb command I can't see anymore the users in the 
>>    admin interface. As I'm using the AbstractUser, I thought in the 
>> beginning 
>>    that everything will stay as it was before (without any custom model) and 
>>    the new fields would been automatically added to the User Model. But, it 
>>    looks like even with *AbstractUser*, Im' overwriting the current 
>>    Django's User Model so I must manually add it register this model in my 
>>    admin Django's part: *admin.site.register(CustomUser)*. Is it the 
>>    right process to do this ?
>>    2. After my new model has been registered in the admin interface, I 
>>    can see the list of my users, but when I try to add a new one using the 
>>    admin interface Django generates an error. I suppose that I must probably 
>>    create my own creation and change forms.
>>
>> But before I go any further, I just want to be sure that I'm doing the 
>> right thing. From what I was understanding, by using the *AbstractUser *I 
>> would not have to do any changes to the core structure of my database 
>> (basically everything would stay the same, and the new fields would have 
>> been added to the core auth user table). So I was thinking that I don't 
>> need as well to implement new forms and the only time I need to do that 
>> it's when I use the *AbstractBaseUser *class. It looks like I'm wrong.
>>
>> So could someone please tell me the difference between this two classes 
>> (*AbstractUser 
>> , **AbstractBaseUser *) ?
>>
>> And if I need to implement the creation and modification form, do you 
>> have any good (and simple) example on how to do this ?
>>
>>
>> Thanks a lot for your advices.
>>
>> Regards,
>>
>> Arnaud
>>
>>
>>
>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/1650c035-42f9-4f16-a0cc-344aace57691%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to