我有一个待办事项网站,允许用户在某个列表中添加提醒,例如工作,学校,杂货等。但是,我对如何获取列表名称及其项目显示有些迷惑。
Models.py:
class RemindList(models.Model): parent_user = models.ForeignKey(User, on_delete=models.CASCADE, null=True) title = models.CharField(max_length=50) class Reminder(models.Model): remind_types = [('Regular', 'Regular'), ('Long Term', 'Long Term')] title = models.CharField(max_length=100) description = models.TextField() remind_time = models.DateTimeField(blank=True) parent_user = models.ForeignKey(User, on_delete=models.CASCADE, null=True) parent_list = models.ForeignKey(RemindList, on_delete=models.CASCADE, null=True) type_of_remind = models.CharField(max_length=12, choices=remind_types, default='Regular') complete = models.BooleanField(default=False)
Views.py:
@login_required(login_url='/login') def home(request): user = get_object_or_404(User, username=request.user.username) context = { 'events': ToDoItem.objects.filter(parent_user=user), 'reminders': Reminder.objects.filter(parent_user=user, type_of_remind='Regular'), 'long_term_reminders': Reminder.objects.filter(parent_user=user, type_of_remind='Long Term'), 'remind_list_items': RemindList.objects.filter(parent_user=user), } return render(request, 'main/home.html', context)
我可以遍历列表名称,并计划只遍历它们,然后将Reminder.objects.filter(parent_user=user, type_of_remind='Regular', parent_list=list_name)
到上下文中。 但是,没有办法在html端循环遍历它们(无法进行for循环,因为还有其他上下文类型),并且您不能在html端过滤它们(如果我错了,请纠正我)。 还有另一种方法吗?