У меня есть две модели пользователей, как их объединить? (AbstractBaseUser) - PullRequest
0 голосов
/ 02 октября 2019

Я работаю над созданием веб-сайта с моделью Пользователь , но столкнулся с проблемой. Я очень озадачен тем, как модель User работает в Django.

На моем административном сайте есть два пользователя, один из которых находится в разделе «Аутентификация и авторизация», а другой - в Market. Суперпользователи входят в Аутентификацию один.

Вот мой текущий код:

# market/models.py

from django.db import models
from datetime import date
from PIL import Image
from django.urls import reverse
from django.contrib.auth.models import BaseUserManager, AbstractBaseUser
import uuid # Required for unique id

from django.core.validators import MaxValueValidator, MinValueValidator

class **User**(AbstractBaseUser):
    username = models.CharField(primary_key=True, max_length=30, help_text='Enter a unique username.', blank=False)
    first_name = models.CharField(max_length=100)
    last_name = models.CharField(max_length=100)
    date_of_birth = models.DateField(null=True, blank=True)
    email = models.EmailField(max_length=255, unique=True)
    phone = models.CharField(max_length=20)
    address = models.CharField(max_length=255)
    state = models.CharField(max_length=30)
    city = models.CharField(max_length=30)
    zip_code = models.CharField(max_length=10)
    payment_method = models.CharField(max_length=16, default='None')
    order_seller = models.CharField(max_length=100, default='None')
    order_buyer = models.CharField(max_length=100, default='None')

    is_active = models.BooleanField(default=True)
    is_admin = models.BooleanField(default=False)

    USERNAME_FIELD = 'username'
    #REQUIRED_FIELDS = []

    # Meta
    class Meta:
        ordering = ['first_name', 'last_name']

    # Method
    def __str__(self):
        return f'{self.username}'

    def get_absolute_url(self):
        """Returns the url to access a particular instances of the model. """
        return reverse('user-detail', args=[str(self.username)])



class Order(models.Model):
    # id = models.AutoField(primary_key=True)
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False, help_text='Unique order number')

    # time and date the order was submitted
    date_ordered = models.DateTimeField(auto_now_add = True)

    # ForeignKey of the buyer
    buyer = models.ForeignKey(**User**, on_delete=models.CASCADE, null=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...