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.
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!!
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!
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
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?
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 ?
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.
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.
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
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 !!
thank you I want to add something Instead of implementing the permission methods you could extend PermissionsMixin like this class UserProfile(AbstractBaseUser, PermissionsMixin):
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
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\.........
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.
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.....:-(
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
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
@@user-qv7rw7dq1d How I understand it, password is a forced requirement already. Just like the "USERNAME_FIELD" is not included, its already "pre-included".
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!!!
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
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...
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?
pip install django-admin-view-permission after that, include the following line on INSTALLED_APPS INSTALLED_APPS = [ 'admin_view_permission', 'django.contrib.admin', ... ]
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
Your voice is so clear in respect to other videos, you are doing good work, keep posting, Good luck from India🙂
You are the best RUclipsr where we can get all things about Django. Thanks a ton buddy.
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.
tks man, i falow all videos since i find your channel, great leasons tks for all.
The best Django tutorials all Over the Internet. Thank you, Sir
I am a fan of this channel!! thanks to Dennis Ivy for introducing me to this channel.
I love your videos. Good job.
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
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.
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
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!!
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!
Bro you are a legend RESPECT
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?
Your explaining so good! Good luck from Ukraine
Thank you Mitch. This was so helpful
Fantastic Explanation. Waiting for more videos.
The entire playlist is published
Niceeee!! hello from Chile.
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
Amazing tutorial!! Great job!
thank u so much for ur videos!!!
How does the user variable defined in our create_superuser have access to the Account class
Thank you so much for this video...
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?
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 ?
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
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.
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.
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
Bro, could you explain how to create custom groups??
Possibly
Thanks a lot. This is really helpful
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.
hi, what's the use of using the is_staff functions with the @property decorator?
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
i am getting programmig error while running django admin page account account relation does not exist
what to do
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 !!
How customize the admin panel to show permissions and groups in this custom user? thanks!!!
While creating superuser I do not have a username field appearing on the cmd line.
helped me a lot
nailed it sir
thanks a lot man
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.
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
how about if i want toi create a user which is a staff
Thank you a lot, you helped me so much
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\.........
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....
where is the second part sir ??
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 ??
Please enter the correct username and password for a staff account. Note that both fields may be case-sensitive.
shows an error 'Account' object has no attribute 'USERNAME_FIELD'
USERNAME_FIELD = 'email'
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!
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!
Thank you for all.
Thank you, dude!
how to add a department field. We know those fields are already base
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 ? 🥲
great video!
subd!
why not inheritate from 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
hey, can i do this on already created templates
Thanks!
Why in function create_user parameter password=None?
Huge thanks!
After creating superuser I am unable to login please helppp
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
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.
Legend!!!
thank you soooooo much
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".
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
where is password stored? because i didn't see password defined in custom user model
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?
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!!!
can someone please give the source code with pastebin or something like that?
Link the documentation page you are using dude.
Just google it
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
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...
thanks for the vid but dam all that white space bothered me so much lol
Hi bro I need source code can u pls send for me
Github link?
Why do you sound like the guy from Casually Explained channel?
That is me
Self reference @ 15:50
moment you pick username in fields of a Model. You lost meaning of entire Custom User model interest. Sorry :)
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 ??
im getting an error like: You don’t have permission to view or edit anything.
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
Why the fuck does he leave that much space when creating fields?
Bro, still waiting(from past 1month) for next video
They've all been published for months codingwithmitch.com/courses/building-a-website-django-python/
After creating everything like You, I have no permissions to view anything in /admin/
pip install django-admin-view-permission
after that, include the following line on INSTALLED_APPS
INSTALLED_APPS = [
'admin_view_permission',
'django.contrib.admin',
...
]