شیرین
10 ماه پیش توسط شیرین مطرح شد
0 پاسخ

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

سلام دوستان من مدل یوزر خودم نوشتم و طبق خود سایت جنگو گفته 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",
)

ثبت پرسش جدید

به همدیگه کمک کنیم

به شیرین کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

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

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