Есть ли возможность иметь модель профиля и модель клиента в 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