Есть ли возможность иметь модель профиля и модель клиента в Django при разработке электронной коммерции?

Я хотел бы знать возможность иметь эти две модели вместе с другими моделями, такими как Order, OrderItem и т.д.

Я попробовал запустить его как в моем models.py

class Profile(models.Model):
    user = models.OneToOneField(User, null=True, blank=True, on_delete=models.CASCADE)
    name = models.CharField(max_length=30, null=True, blank=True, help_text="Insert your name")
    image = models.ImageField(default='default.png', upload_to='profile_pics')

class Customer(models.Model):
    name = models.OneToOneField(Profile, on_delete=models.CASCADE)
    phone = models.CharField(max_length=11, null=True, blank=True)
    address = models.CharField(max_length=20, null=True, blank=True)
    phone = models.CharField(max_length=11, null=True, blank=True)
    address = models.CharField(max_length=20, null=True, blank=True)

class Order(models.Model):
    customer = models.ForeignKey(Customer, on_delete=models.CASCADE, null=True, blank=True)
    complete = models.BooleanField(default=False, null=True, blank=True)
    date_ordered = models.DateTimeField(auto_now_add=True)
    transaction_id = models.CharField(max_length=100, null=True)

Возможно ли иметь такие модели, как приведенные выше?

Если Да,

Как я могу представить это в views.py, чтобы аутентифицировать пользователя (профиль) и одновременно создать клиента.

Я думаю, что ваша вышеприведенная структура модели может работать хорошо, но в views.py вы можете использовать аутентификацию токена и во время создания клиента вы можете аутентифицироваться существует ли пользователь или нет.

Далее Вы можете использовать user = request.user в своих представлениях, а затем

profile = Profile.objects.get(user__id=user)
if profile:
 .............
 create your customer here
Вернуться на верх