all - мне нужна страница просмотра списка, на которой отображаются все учетные записи продавцов, за которыми следит пользователь, и под каждым из этих имен продавцов их список названий продуктов, например:
User = user1
Далее:
- Продавец 1
- Предметы: Item1, Item2, Item3
Продавец 2
- Предметы: Item4, Item5, Item6
Я могу вытащить товары для любого конкретного продавца, если они одни в страницу (например, подробный просмотр / список поставщиков), но я не могу понять logi c для одновременного отображения всех пользователей и подключения продуктов под ними.
ДЕЙСТВИТЕЛЬНО ценю помощь здесь!
Модель пользователя:
class CustomUser(AbstractUser):
email = models.EmailField(max_length=255, unique=True)
is_active = models.BooleanField(default=True)
signup_timestamp = models.DateTimeField(default=now, editable=False)
objects = CustomUserManager()
def __str__(self):
return self.username
Модель продавца:
class SellerAccount(models.Model):
user = models.OneToOneField(CustomUser, on_delete=models.CASCADE)
active = models.BooleanField(default=True)
username = CustomUser.username
timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
def __str__(self):
return str(self.user)
def get_absolute_url(self):
return reverse("artist_detail", kwargs={"artist_name": self.user.username})
Продавцы, за которыми подписан конкретный пользователь:
class WatchedArtist(models.Model):
user = models.ForeignKey(CustomUser, null=False, on_delete=models.CASCADE)
seller = models.ForeignKey(SellerAccount, null=False, on_delete=models.CASCADE)
watched = models.BooleanField(default=True)
timestamp = models.DateTimeField(default=now, editable=False, blank=True, null=True)
Товары продавцов:
class Product(models.Model):
seller = models.ForeignKey(SellerAccount, null=False, on_delete=models.CASCADE)
title = models.CharField(max_length=30, blank=False)
slug = models.SlugField(unique=True, blank=True)
def __str__(self):
return self.title
def get_absolute_url(self):
view_name = "products:detail"
return reverse(view_name, kwargs={"slug": self.slug})