基本上,我是Django的新手。我正在尝试创建一个时间表网站,在那里用户将选择一周的任务,然后添加他们每一天的工作时间,这一周。
但是,每一天都要存储在单独的记录中。如何创建一个只接受一次任务输入,但循环遍历并创建5条记录的表单?
发布于 2017-10-09 22:42:44
如果要创建绑定到表单的同一模型的多个实例,请使用内联表单集。但是这些不是自动的,你必须在你的代码中定义它们。
要创建具有动态添加/删除相关模型表单的内联表单集,最简单的方法是使用django-nested包中的NestedModelAdmin和NestedStackedInline:
https://github.com/theatlantic/django-nested-admin
假设有Django任务模型和Django事件模型与任务模型有多对一的关系:
from django.contrib import admin
import nested_admin
from .models import Event, Task
class EventInline(nested_admin.NestedStackedInline):
model = Event
class TaskAdmin(nested_admin.NestedModelAdmin):
inlines = [EventInline]
admin.site.register(Task, TaskAdmin)只需这么少的代码,您就可以在django admin中拥有强大的动态一对多模型编辑器。但在这种情况下,用户应该有权访问django admin。
否则,您可以自己定义表单集,并自己管理它们的添加/删除。有很多教程/可插拔的模块可以做到这一点。
https://stackoverflow.com/questions/46644046
复制相似问题