رفع مشکل Django AttributeError: User object has no attribute set_password but user is not override جنگو
اگر در حال توسعهی یک پروژه با زبان برنامه نویسی پاپتون و فریمورک جنگو هستید و از یک مدل شخصی به عنوان Custom User Model استفاده میکنید و با خطای Django AttributeError: User object has no attribute set_password but user is not override روبرو شدهاید در این نوشته به روش رفع آن میپردازیم.
رفع مشکل Django AttributeError: User object has no attribute set_password but user is not override جنگو
برای رفع این مشکل به فایل مدل خود بروید و در بخشی که مدلی را به عنوان Custom User Model انتخاب کردهاید به عنوان ارث بری به جای models.Model در تعریف کلاس مدل از AbstractUser استفاده کنید.
اگر سوالی در ارتباط با این آموزش دارید در بخش نظرات همین نوشته برای ما بنویسید.
برای امتیاز به این نوشته کلیک کنید!
[کل: 1 میانگین: 5]



















استفاده از AbstractUser محدودیتی برای اضافه کردن فیلدهای جدید ایجاد نمیکنه؟
خیر، AbstractUser به شما اجازه میدهد فیلدهای دلخواه خود را اضافه کنید.
بعد از تغییر ارثبری لازمه همه یوزرهای قبلی دوباره ساخته بشن؟
سلام، بله، پس از تغییر ارثبری، لازم است کاربران قبلی را مجدداً ایجاد کنید.
اگه فقط برای تست نیاز داشته باشیم، راه سریعتری وجود نداره؟
برای تست سریعتر، میتوانید از User.objects.create_user() استفاده کنید که به طور خودکار رمز عبور را مدیریت میکند.
این تغییر تاثیری روی admin panel جنگو هم داره؟
بله، استفاده از AbstractUser به جای models.Model برای مدل کاربری سفارشی، تنظیمات لازم را برای پنل ادمین جنگو نیز فراهم میکند.
میشه بجای AbstractUser فقط متدهای مربوط به پسورد رو دستی اضافه کرد؟
بله، امکان اضافه کردن دستی متدهای مربوط به پسورد وجود دارد، اما استفاده از AbstractUser راه حل استاندارد و سادهتری است.