Это кажется простым, но я все еще не могу понять, как это реализовать.
Попытка создать условные отношения «многие ко многим» (не уверен, правильно ли это называется!) Между тремя моделями. :
Class Book(models.Model):
book_name = models.CharField(max_length=50)
Class Article(models.Model):
article_name = models.CharField(max_length=50)
Class Portfolio(models.Model):
KINDS = [('B', 'Book'), ('A', 'Article')]
book = models.ForeignKey(Book, on_delete=models.PROTECT)
article = models.ForeignKey(Article, on_delete=models.PROTECT)
kind = models.models.CharField(max_length=1, choices=KINDS)
user = models.ManyToManyField(User, through='Recommendation')
Class Recommendation(models.Model):
user = models.ForeignKey(User, on_delete=models.PROTECT)
portfolio = models.ForeignKey(Book, on_delete=models.PROTECT)
date = models.DateTimeField()
Каждый пользователь (из пользовательского модуля Django) может иметь несколько рекомендаций портфеля ios. Каждое портфолио - это группа книг и статей, рекомендуемых на определенную дату c.