Разрешить пользователю Django создать еще один - PullRequest
0 голосов
/ 10 октября 2018

Прежде всего, я новичок.

Я создаю веб-сайт для моей семьи, чтобы обменять подарки на Рождество.Каждый может публиковать идеи подарков для всех.

Я хотел бы позволить родителям создать учетную запись для своих детей и иметь возможность управлять ими.Например, переименуйте, удалите, измените изображение профиля ...

У меня есть модель профиля, связанная с пользователем ...

Я думал о создании дочерней модели ...?Но я застрял.

1 Ответ

0 голосов
/ 10 октября 2018

Я думаю, что можно создать модель с отношением один к одному с классом пользователя, как сказано в документации:

https://docs.djangoproject.com/en/2.1/topics/auth/customizing/#extending-the-existing-user-model

и в этой модели положитьпользовательские данные, которые вы хотите редактировать, а привилегированная роль может редактировать непривилегированные

Я оставляю пример, который использовал:

from django.contrib.auth.models import User
from django.db import models

class Profile(models.Model):
    """Profile model

    Proxi model that extends de base data
    with orher information
    """
    user = models.OneToOneField(User, on_delete=models.CASCADE)

    website = models.URLField(max_length=200, blank=True)
    biography = models.TextField(blank=True)
    phone_number = models.CharField(max_length=20, blank=True)

    picture = models.ImageField(
        upload_to="users/pictures",
        blank=True,
        null=True)

    created = models.DateTimeField(auto_now_add=True)
    modified = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.user.username

Я надеюсь, что он может быть вам полезен

...