I was on the verge of giving up the project because I don't know how to do this until I saw this and I checked. The explanation is so clear. Thank you for this you earned a sub and a fan
Hey Marky ) Tomorrow's my deadline - here am I! Partially ready (lol). He just gave me hope and I could do it all within a few hours) Dennis, and there was another android guy, taught me a lot.
You are trying to add the field 'date_joined' with 'auto_now_add=True' to account without a default; the database needs something to populate existing rows.
Did I miss the part where you dealt with these? Cause mine wont even load server - 3 issues 0 silenced. : (admin.E019) The value of 'filter_horizontal[0]' refers to 'groups', which is not an attribute of 'website.User'. : (admin.E019) The value of 'filter_horizontal[1]' refers to 'user_permissions', which is not an attribute of 'website.User'. : (admin.E116) The value of 'list_filter[3]' refers to 'groups', which does not refer to a Field. Switching to AbstractUser instead of Base seemed to fix it - does that just bring the rest of the previous user model, anything that was not altered, into this user model? Thanks!
Great job. But bro what about the debug part? you can't skip it like that. how do we correct the code? we need that ginger taste part. Thanks and keep it up!!
Can you add a relationship field from this user model to another existing model. like for example a bank app .when user who can register with the app must have a bank account with d bank so in that case before signup user must have an already existing acct.so we have Account model and a User model so can a OnetoOneField be in this User model with that Account model ?
thank you I want to add something Instead of implementing the permission methods you could extend PermissionsMixin like this class UserProfile(AbstractBaseUser, PermissionsMixin):
Update: I was able to solve this by adding this on admin.py inside the AccountAdmin class. fieldsets = ( (None, {'fields': ('email', 'password', 'username')}), ('Permissions', {'fields': ('is_admin', 'is_staff')}), ) add_fieldsets = ( (None, { 'classes': ('wide',), 'fields': ('email', 'username', 'password1', 'password2'), }), ) the reference code is from the django docs: docs.djangoproject.com/en/3.0/topics/auth/customizing/#a-full-example
When creating the create_user() method VSCode does not like them opening if statements. It was 'Prettier - Code Formatter' extension that was causing the issues.
So when I go to create a superuser in the cmd screen, it asks for the email/password but then says failed to provide a username. However, it does not prompt for a user name and followed the steps. Any suggestions?
hello mitch which database are you using because u have used self._db to save the user, i am using mysql database it is creating an error....please reply
Is it possible to have multiple custom user authentication methods for different users within the same Django app. Like an email and password for one type of user and a pin only for another type of user
hey, I am working with mysql data base. in the tutorial I see the base_account table was created and contains the columns that we added in the video. how do I fill this table with the data from the registration form ? in my project the table that this info is filled in is the auth_user table thanks !!
why user = self.model() in manager? why using=self.__db while saving? why you added password=password for create_superuser but used set_password for create_user(), what's the difference and when to use which?
Great questions, I had exactly the same doubts when watching the video. 1. MyAccountManager inherits from BaseUserManager, which itself inherits from models.Manager class. That Manager class has reference to the model it manages stored in self.model, in our case the model is: class 'Account'. So self.model(email=email, username=username) is same as writing Account(email=email, username=username). 2. 'using' parameter specifies in which database to save given instance. This is useful if you have multiple databases and you need to define which database you need for this operation. self._db is None, so when it becomes user.save(using=None), per Django implementation it will use the 'default' database defined in setting.py. If you want to use another database, pass the name of your database like user.save(using='my_database'). 3. When you need to set a password for the user, you should be using set_password method as it hashes the password which is important. As it was mentioned in the video (14:34), he should have called self.create_user(...) instead of self.model inside create_superuser. When you call self.create_user, it takes three arguments: email, username, password. Now when the method gets executed, it will normally set a password with set_password method like you would expect.
i have followed the same step and code but after admin login i got the is error " 'Account' object has no attribute 'get_all_permissions' ". how to solve please help me.
Thank you very much for the great tutorial But i have a little error in Cmd : ImportError: cannot import name 'BaseUserManger' from 'django.contrib.auth.models' (D:\Django Projects\.........
I followed the steps here and created this user model. Difference is that I am not using email in the USERNAME_FIELD. Email is not even required for my model. Second, I have more fields that are required such as first and last name and address. My problem is that when I try to create a superuser, it does not give me the other required fields. instead I get a 'TyperError' telling me that 3 positional arguments are missing. Help anyone.....:-(
Hey Mitch, Great tutorial I am getting the following error when I try to create a superuser at the command line. TypeError: create_superuser() missing 1 required positional argument: 'username' Have I missed something, I have checked the code and cannot find the problem.
Basically the built in User model is very simple and doesn't have a lot of functionality out of the box. So we make the custom User model to extend the built-in User model
18:45 "TypeError: create_superuser() missing 1 required positional argument: 'username'" i dont know ive checked again all the steps ive reproduced and cant find the error.- i stop here for now tyvm
I really wish tab and space were the same damn thing, if tab just put 4 spaces it would solve this happening with several other programs too. I was taught specifically to NEVER use tab with python, always use spaces instead, no idea why. To bad not a true standard on something like that. If only one of them didn't work so the other would be used normally, o well what can you do...
man , I can't understand why i am getting this error : i did literally like you but when i write in cmd "python mange.py createsuperuser" it shows an AttributeError : 'Manager' object has no attribute 'get_by_natural_key'
This is because the account class isn't using the account manager correctly. Try this: objects=MyAccountManager() the empty parenthesis needs to be their at the end of the manager name. I forgot to add () and I got the same error as you
hey Mitch, great video, as a python newbie, I am wondering what does this line of code means: objects = MyAccountManager(), what is object refering to? what does this line mean? thanks!!!
@@user-qv7rw7dq1d How I understand it, password is a forced requirement already. Just like the "USERNAME_FIELD" is not included, its already "pre-included".
Try this: objects=MyAccountManager() the empty parenthesis needs to be their at the end of the manager name. I forgot to add () and I got the same error as you
File "C:\Users\black-worm\Desktop\mysite\account\models.py", line 14 user=self.model( ^ IndentationError: unindent does not match any outer indentation level where is the mistake i don't knows
If I want to force a user to upload a photo during registration, do I need to use a custom user model? Or is it possible to do that via extending the user model?
well done. first recent vid that was clear enough to understand while stoned. subscribed
thanks, than i watch this
If anyone wanna learn how Custom User model works. Then this is the best video. **Subscribed
You are the best RUclipsr where we can get all things about Django. Thanks a ton buddy.
Your voice is so clear in respect to other videos, you are doing good work, keep posting, Good luck from India🙂
I am a fan of this channel!! thanks to Dennis Ivy for introducing me to this channel.
I was on the verge of giving up the project because I don't know how to do this until I saw this and I checked. The explanation is so clear. Thank you for this you earned a sub and a fan
Hey Marky ) Tomorrow's my deadline - here am I! Partially ready (lol). He just gave me hope and I could do it all within a few hours) Dennis, and there was another android guy, taught me a lot.
The best Django tutorials all Over the Internet. Thank you, Sir
tks man, i falow all videos since i find your channel, great leasons tks for all.
You are trying to add the field 'date_joined' with 'auto_now_add=True' to account without a default; the database needs something to populate existing rows.
Did I miss the part where you dealt with these? Cause mine wont even load server - 3 issues 0 silenced.
: (admin.E019) The value of 'filter_horizontal[0]' refers to 'groups', which is not an attribute of 'website.User'.
: (admin.E019) The value of 'filter_horizontal[1]' refers to 'user_permissions', which is not an attribute of 'website.User'.
: (admin.E116) The value of 'list_filter[3]' refers to 'groups', which does not refer to a Field.
Switching to AbstractUser instead of Base seemed to fix it - does that just bring the rest of the previous user model, anything that was not altered, into this user model? Thanks!
thanks to you i can make custom user, i was asked to do in my freelance and i was used to usercreaton form. insta subscribed
Great job. But bro what about the debug part? you can't skip it like that. how do we correct the code? we need that ginger taste part. Thanks and keep it up!!
I love your videos. Good job.
Bro you are a legend RESPECT
thank you so much brother i was in search of this kind of video.it really put a lot of value to my life thankyou so much.subscribed
very nice guide
Your explaining so good! Good luck from Ukraine
shows an error
django.core.exceptions.FieldDoesNotExist: Account has no field named 'user_email'
great tutorial for beginners
Hello, can I customize the width of a CharField or ArrayField for example?
Can you add a relationship field from this user model to another existing model. like for example a bank app .when user who can register with the app must have a bank account with d bank so in that case before signup user must have an already existing acct.so we have Account model and a User model so can a OnetoOneField be in this User model with that Account model ?
Please enter the correct username and password for a staff account. Note that both fields may be case-sensitive.
thank you I want to add something Instead of implementing the permission methods you could extend PermissionsMixin
like this class UserProfile(AbstractBaseUser, PermissionsMixin):
@@harshilpatel8525 just add class Account(AbstractBaseUser, PermissionsMixin) and that's it. It will handle all the permissions stuff.
Hi Mitch, I followed the tutorial, but some how my Add User view still shows just Username, Password and no email. What am i doing wrong please?
Has anybody been able to solve this?
Update: I was able to solve this by adding this on admin.py inside the AccountAdmin class.
fieldsets = (
(None, {'fields': ('email', 'password', 'username')}),
('Permissions', {'fields': ('is_admin', 'is_staff')}),
)
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('email', 'username', 'password1', 'password2'),
}),
)
the reference code is from the django docs: docs.djangoproject.com/en/3.0/topics/auth/customizing/#a-full-example
@@AdrianGonzalezBlogs thanks
@@AdrianGonzalezBlogs bro what change did you made with fieldsets? i dont understand
@@rezaulislamtanim6445 what exactly you don't understand?
This was something I really wanted thanks
Thank you Mitch. This was so helpful
Thank you for all.
Bro, could you explain how to create custom groups??
Possibly
When creating the create_user() method VSCode does not like them opening if statements. It was 'Prettier - Code Formatter' extension that was causing the issues.
So when I go to create a superuser in the cmd screen, it asks for the email/password but then says failed to provide a username. However, it does not prompt for a user name and followed the steps. Any suggestions?
Fantastic Explanation. Waiting for more videos.
The entire playlist is published
How does the user variable defined in our create_superuser have access to the Account class
i got an error
when i login to myweb/admin
it says "not enough values to unpack (expected 4, got 3)"
Great Video! very helpful. Thanks
Thank you so much for this video...
hello mitch
which database are you using because u have used self._db to save the user, i am using mysql database it is creating an error....please reply
thank u so much for ur videos!!!
Niceeee!! hello from Chile.
Thanks a lot. This is really helpful
Hey Mitch!
In 12:33 , couldn't you just use `blank=False` when declaring the field, then it would raise automaticly an exception if it was blank
Is it possible to have multiple custom user authentication methods for different users within the same Django app. Like an email and password for one type of user and a pin only for another type of user
hi, what's the use of using the is_staff functions with the @property decorator?
How customize the admin panel to show permissions and groups in this custom user? thanks!!!
Amazing tutorial!! Great job!
Well done. Thank you soo much
hey, I am working with mysql data base.
in the tutorial I see the base_account table was created and contains the columns that we added in the video. how do I fill this table with the data from the registration form ?
in my project the table that this info is filled in is the auth_user table
thanks !!
why user = self.model() in manager?
why using=self.__db while saving?
why you added password=password for create_superuser but used set_password for create_user(), what's the difference and when to use which?
Great questions, I had exactly the same doubts when watching the video.
1. MyAccountManager inherits from BaseUserManager, which itself inherits from models.Manager class. That Manager class has reference to the model it manages stored in self.model, in our case the model is: class 'Account'. So self.model(email=email, username=username) is same as writing Account(email=email, username=username).
2. 'using' parameter specifies in which database to save given instance. This is useful if you have multiple databases and you need to define which database you need for this operation. self._db is None, so when it becomes user.save(using=None), per Django implementation it will use the 'default' database defined in setting.py. If you want to use another database, pass the name of your database like user.save(using='my_database').
3. When you need to set a password for the user, you should be using set_password method as it hashes the password which is important. As it was mentioned in the video (14:34), he should have called self.create_user(...) instead of self.model inside create_superuser. When you call self.create_user, it takes three arguments: email, username, password. Now when the method gets executed, it will normally set a password with set_password method like you would expect.
i have followed the same step and code but after admin login i got the is error " 'Account' object has no attribute 'get_all_permissions' ". how to solve please help me.
Thank you very much for the great tutorial But i have a little error in Cmd :
ImportError: cannot import name 'BaseUserManger' from 'django.contrib.auth.models' (D:\Django Projects\.........
Thank you a lot, you helped me so much
While creating superuser I do not have a username field appearing on the cmd line.
I followed the steps here and created this user model. Difference is that I am not using email in the USERNAME_FIELD. Email is not even required for my model. Second, I have more fields that are required such as first and last name and address.
My problem is that when I try to create a superuser, it does not give me the other required fields. instead I get a 'TyperError' telling me that 3 positional arguments are missing. Help anyone.....:-(
are you already solved this problem? can you explain how you solved it ? 🥲
nailed it sir
Can anybody elaborate to share the link of the next that he had talked about in the video for adding more things like hashed password and etc....
Hey Mitch, Great tutorial I am getting the following error when I try to create a superuser at the command line.
TypeError: create_superuser() missing 1 required positional argument: 'username'
Have I missed something, I have checked the code and cannot find the problem.
same error
make sure it is 'REQUIRED_FIELDS' in my case it was REQUIRED_FIELD so I was getting an error
hope this help you
Username is what you missing
Thank you, when I create a super user it does not be added to account table, why ? Same when I create a simple user
same problem
did u find a solution ??
thanks a lot man
Thank you, dude!
helped me a lot
i am getting programmig error while running django admin page account account relation does not exist
what to do
thanks for the vid but dam all that white space bothered me so much lol
where is the second part sir ??
Heyy, it throws this error at the cmd " TypeError: create_superuser() missing 1 required positional argument: 'username' "
The error in my case was that I typed REQUIRED_FIELD instead of REQUIRED_FIELDS.
A missing S can Screw up everything!
shows an error 'Account' object has no attribute 'USERNAME_FIELD'
USERNAME_FIELD = 'email'
i can't login django administration after creating a super user why please ? i checked it and it's created but i can't login
how did you fix it?
@@timetosleep8055 thank you
Hello folks! Notice that you need the superuser's email and not the superuser's name to log in. That was my mistake, hadn't noticed.
excellent!
how to add a department field. We know those fields are already base
what's the difference between custom made user model and django built-in User model sir?
Basically the built in User model is very simple and doesn't have a lot of functionality out of the box. So we make the custom User model to extend the built-in User model
18:45 "TypeError: create_superuser() missing 1 required positional argument: 'username'" i dont know ive checked again all the steps ive reproduced and cant find the error.-
i stop here for now tyvm
Hi, can't we just make a new model with OnetoOne relationship with the User model and add additional fields are per requirement?
I think that would be fine yes.
I really wish tab and space were the same damn thing, if tab just put 4 spaces it would solve this happening with several other programs too. I was taught specifically to NEVER use tab with python, always use spaces instead, no idea why. To bad not a true standard on something like that. If only one of them didn't work so the other would be used normally, o well what can you do...
Huge thanks!
how about if i want toi create a user which is a staff
Thanks!
great video!
subd!
Legend!!!
hey, can i do this on already created templates
man , I can't understand why i am getting this error :
i did literally like you but when i write in cmd "python mange.py createsuperuser" it shows an AttributeError : 'Manager' object has no attribute 'get_by_natural_key'
This is because the account class isn't using the account manager correctly.
Try this:
objects=MyAccountManager()
the empty parenthesis needs to be their at the end of the manager name. I forgot to add () and I got the same error as you
thank you soooooo much
why not inheritate from User model ?
After creating superuser I am unable to login please helppp
where is password stored? because i didn't see password defined in custom user model
Why in function create_user parameter password=None?
hey Mitch, great video, as a python newbie, I am wondering what does this line of code means: objects = MyAccountManager(), what is object refering to? what does this line mean? thanks!!!
I created a superuser successfully but cannot login to the admin. It says please enter the correct email and password for the staff account.
What did you do?
I have the same error too.. any solution?
Link the documentation page you are using dude.
Just google it
Bro, still waiting(from past 1month) for next video
They've all been published for months codingwithmitch.com/courses/building-a-website-django-python/
Curious, why is password not included as a field in the Account model?
Basically this; why isn't password included?
@@user-qv7rw7dq1d How I understand it, password is a forced requirement already. Just like the "USERNAME_FIELD" is not included, its already "pre-included".
can someone please give the source code with pastebin or something like that?
thanks
AttributeError: 'Manager' object has no attribute 'get_by_natural_key'
Try this:
objects=MyAccountManager()
the empty parenthesis needs to be their at the end of the manager name. I forgot to add () and I got the same error as you
Why do you sound like the guy from Casually Explained channel?
That is me
Self reference @ 15:50
File "C:\Users\black-worm\Desktop\mysite\account\models.py", line 14
user=self.model(
^
IndentationError: unindent does not match any outer indentation level
where is the mistake i don't knows
welcome to python ;)
@@josemadarieta865 you meant ??
moment you pick username in fields of a Model. You lost meaning of entire Custom User model interest. Sorry :)
If I want to force a user to upload a photo during registration, do I need to use a custom user model? Or is it possible to do that via extending the user model?
Validate the registration via front end using JavaScript and add an add event listener on submit button
Hi bro I need source code can u pls send for me
Github link?
im getting an error like: You don’t have permission to view or edit anything.
Why the fuck does he leave that much space when creating fields?