python - Django 允许用户向列表中添加新项目
问题描述
我有一个待办事项网站,允许用户创建一个列表,让他们创建事件并指定将其放入哪个列表。现在,我有一个 Reminder 模型,其中包含一个带有 General 选项的列表:
class Reminder(models.Model):
remind_types = [('Regular', 'Regular'), ('Long Term', 'Long Term')]
remind_lists = [('General','General')]
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)
type_of_remind = models.CharField(max_length=12, choices=remind_types, default='Regular')
remind_list = models.CharField(max_length=20, choices=remind_lists, default='General')
complete = models.BooleanField(default=False)
我正在考虑创建一个让用户输入标题并将标题添加到提醒列表的表单。我会有一个菜单,允许用户查看基于特定列表的提醒,并让提醒通过如下方式:
from .models import remind_lists
@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'),
}
for list_menu_name in remind_lists:
context[list_menu_name] = Reminder.objects.filter(parent_user=user, type_of_remind='Long Term', remind_list=list_menu_name)
return render(request, 'main/home.html', context)
但我有点迷失了如何做到这一点。我正在考虑创建一个仅包含 CharField 的模型,但我不知道如何仅将名称添加到提醒列表列表中。我对 Django 很陌生,所以如果它是一个简单的答案,我很抱歉。
解决方案
推荐阅读
- python - 如何删除由(。)分隔的第一个和最后一个元素的第一个和最后一个值,并且需要加入列表中的其他元素
- sql - 根据从下一行开始的当前值对行进行分组
- pandas - 如何在熊猫条形图中定位图例
- c# - 如何检索 64 位应用程序的 String.GetHashcode() 的源代码?
- sql-server - MS SQL 更改所有约束
- python - 用 numpy 快速切片
- python - 对 id 后的所有内容进行排序
- css - 使用角度示例未正确显示角度材质树
- c# - 在 Skype 频道 botframework 中选择选项不起作用 [C#]
- apache-spark - 无法使用 Hive 支持实例化 SparkSession,因为找不到 Hive 类