۵۰٪ تخفیف فقط تا پایان جشنواره؛ بعدش همه‌چیز به قیمت قبل برمی‌گرده!

مشاهده دوره‌ها
ثانیه
دقیقه
ساعت
روز
راکت

کاربر شخصی سازی شده در جنگو

بدون پاسخ

سلام دوستان من مدل یوزر خودم نوشتم و طبق خود سایت جنگو گفته group vروunregister کردم سوال برام پیش اومده اینطوری که همه ی کاربران میتونن تمام اطلاعات تغییر بدن یا حذف کنن حتی میتونن اطلاعات superuserهم تغییر بدن منطق این کار متوجه نشدم ؟
و اینکه خودم میخوام userpermission , group اضافه کنم تو ادمین نمایش میده ولی ذخیره نمیشه و عملی انجام نمیده ممنون راهنماییم کنید

class CustomUser(AbstractUser):
    username = models.CharField(max_length=50, verbose_name='نام کاربری', blank=True, null=True,
                                unique=True,
                                help_text=(
                                    "Required. 50 characters or fewer. Letters, digits and @/./+/-/_ only."
                                ),
                                error_messages={
                                    "unique": "A user with that username already exists.",
                                },

                                )
    email = models.EmailField(verbose_name='ایمیل')
    phone = models.BigIntegerField(verbose_name='تلفن همراه', blank=True, null=True, unique=True, )
    age = models.PositiveIntegerField(verbose_name='سن', null=True, blank=True)
    address = models.CharField(verbose_name='آدرس', max_length=300, null=True, blank=True)
    profile_image = models.ImageField(verbose_name='تصویر', upload_to='profile/', null=True, blank=True)
    postal_code = models.CharField(verbose_name='کدپستی', max_length=20, null=True, blank=True)
    create = models.DateTimeField(auto_now_add=True, verbose_name='تاریخ', blank=True, null=True, )
    is_active = models.BooleanField(verbose_name='فعال بودن', default=True)
    is_admin = models.BooleanField(verbose_name='وضعیت کارمندی', default=False)
    is_superuser = models.BooleanField(verbose_name='ابرکاربر', default=False)
    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ['phone', ]
    objects = CustomUserManager()

    class Meta:
        verbose_name = "کاربر"
        verbose_name_plural = "کاربران"

    def __str__(self):
        return self.username

    def has_perm(self, perm, obj=None):
        return True

    def has_module_perms(self, app_label):
        return True

    def get_user_permissions(self, obj=None):
        return _user_get_permissions(self, obj, 'user')

    def get_all_permissions(self, obj=None):
        return _user_get_permissions(self, obj, 'all')

    def get_group_permissions(self, obj=None):
        return self.get_group_permissions(self, obj, 'user')

    @property
    def is_staff(self):
        return self.is_admin

    # @property
    # def groups(self):
    #     return self._groups

class CustomUserAdmin(UserAdmin):
addform = CustomUserCreateForm

form = CustomUserChangeForm
model = CustomUser
list_display = ('username', 'phone', 'email', 'is_admin', 'create',)
list_filter = ('phone', 'create', 'is_active', 'groups',)
fieldsets = (
    ('کاربران', {'fields': ('phone', 'password')}),
    ('اطلاعات شخصی', {'fields': ('first_name', 'last_name', 'email')}),
    ('مجوزها', {'fields': ('is_active', 'is_superuser', 'is_admin','groups','user_permissions',)}),
    ('سایر اطلاعات', {'fields': ('age', 'address', 'postal_code', 'profile_image')}),

)
add_fieldsets = UserAdmin.add_fieldsets + (
    (None, {'fields': ('phone', 'email',)}),

)

search_fields = ('phone',)
ordering = ('phone',)
filter_horizontal = (
    "groups",
    "user_permissions",
)
ثبت پرسش جدید

پاسخ‌ها

0

هنوز پاسخی ثبت نشده

اولین نفری باشید که به این پرسش کمک می‌کند و مسیر حل مشکل را باز می‌کند.

اولین پاسخ را بنویسید

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام