سلام
میخوام مدل جنگو User رو شخصی سازی کنم ولی چند تا مشکل و سوال پیش اومده؟
1-با توجه به موارد زیر و اینکه من میخوام تغیرات و فیلد های زیادی تو مدل User ایجاد کنم ، بهتره از کدوم کلاس ( AbstractUser یا AbstractBaseUser) ارث بری کنم؟
تفاوت AbstractUser با AbstractBaseUser
الف. اگر با فیلدهای موجود مدل کاربر پیشفرض جنگو مشکلی ندارید و فقط میخواهید از ایمیل به جای نام کاربری استفاده کنید از AbstractUser استفاده کنید.
ب. اگر کلا قصد تغییر مدل کاربر جنگو رو از پایه دارید و میخواهید یک مدل کاملا جدید بسازید از AbstractBaseUser استفاده کنید.
2-تو توضیحات دیدم تو فیلد ایمیل این ( _('email address'), )مورد رو اضافه کرده که موقع migrate کردن به ارور میخوره و جای دیگه ای اینجوریش رو ندیدم!؟
email = models.EmailField(_('email address'), unique=True)
حدث خودم اینه که این مورد یجوری verbose_name نوشتن تو ورژن قدیمی جنگو هست چون تو توضیحات طرف دیدم که بعد از میگیریت زدن این پیام 'email address' به شکل زیر نمایش داده میشه؟!
('email', models.EmailField(max_length=254, unique=True, verbose_name='email address')),
3-چجوری میتونم تایید کنم که USERNAME_FIELD یونیکم هم ایمیل باشه هم شماره موبایل طرف؟
سلام دوست من
1 - برای تغییرات زیاد در مدل اصلی کاربر پیشنهاد میکنم از AbstractBaseUser استفاده کنین تا همه ی field ها رو خودتون مشخص کنین
2 - منظورتون رو متوجه نشدم ؟؟؟
3 - اتریبیوت unique رو به هر دو بدین