我的应用程序中有2个数据表,只要点击project-content-datatable
行中的任何一个,就会在第二个表(content table)上显示它的子内容,现在在我的第二个表中,我有一个按钮,可以在modal中弹出一个窗体,在其中创建新的内容,在这个窗体中,我可以根据用户点击的行project-content-datatable
来设置parent_project_content = models.ForeignKey(ProjectContent, on_delete=models.CASCADE)
的默认值。你知道吗
非常感谢您的帮助,谢谢
这是我的密码 HTML格式
<table id="project-content-datatable" class="display table table-hover table-responsive" style="width: 100%">
<thead>
<tr>
<th class="small text-muted text-uppercase"><strong>Name</strong></th>
<th class="small text-muted text-uppercase"><strong>Description</strong></th>
</tr>
</thead>
<tbody>
{% for content in content_list %}
{% if content.search_type.name == searchtype.name %}
<tr class="text-primary">
<td class="text-left" style="cursor: pointer"
onclick='load_workorder({{ content.id }});'>
{{ content.id }}
</td>
<td class="text-left" style="cursor: pointer" onclick='load_workorder({{ content.id }});'>
{{ content.name }} </td>
</tr>
{% endif %}
{% endfor content_list %}
</tbody>
</table>
<!-- END Hover Table -->
<!-- WORKORDER START-->
<h3 class="panel-title text-white">WorkOrders</h3>
<div class="btn-group" role="group" aria-label="...">
<button
data-toggle="modal" data-target="#create_new_workorder"
type="button" class="btn btn-sm btn-success btn-outline"><span
class="hidden-md hidden-sm hidden-xs">Create Workorder</span> <i
class="fa fa-fw fa-plus"></i>
</button>
</div>
<!--Create Workorder Form Modal -->
<div class="modal fade" id="create_new_workorder" tabindex="-1" role="dialog"
aria-labelledby="TitleLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span></button>
<h4 class="modal-title">Create New Workorder</h4>
</div>
<form method="POST" enctype="multipart/form-data">{% csrf_token %}
<div class="modal-body">
{{ workorder_form.as_p }}
</div>
<div class="modal-footer">
<input class="btn btn-primary" type="submit"
value="Create Workorder"/>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel
</button>
</div>
</form>
</div>
</div>
</div>
你知道吗型号.py你知道吗
class WorkOrder(models.Model):
parent_project_content = models.ForeignKey(ProjectContent, on_delete=models.CASCADE)
description = models.TextField(default='workorder of project content', blank=True)
assign_to = models.ForeignKey(Employee, on_delete=models.CASCADE, related_name='assign_to', null=True, blank=True)
你知道吗表格.py你知道吗
class CreateWorkorderForm(forms.ModelForm):
class Meta:
model = WorkOrder
fields = ['parent_project_content','description', 'assign_to',]
你知道吗视图.py你知道吗
def content_view(request, project_id):
"""
:param request:
:param project_id:
:return:
"""
selected_project = get_object_or_404(Project, id=project_id)
search_type_list = selected_project.search_type.all()
project = get_object_or_404(Project, id=project_id)
form = CreateProjectContentForm(request.POST or None, request.FILES or None)
workorder_form = CreateWorkorderForm(request.POST or None, request.FILES or None)
if workorder_form.is_valid():
instance = workorder_form.save(commit=False)
instance.parent_project_content = WorkOrder.objects.get(parent_project_content=24)
instance.save()
if form.is_valid():
inst = form.save(commit=False)
inst.project = project
inst.save()
context = {
'form': form,
'workorder_form': workorder_form,
"search_type_list": search_type_list,
"selected_project": selected_project,
"content_list": ProjectContent.objects.all().filter(project=selected_project.id),
"content_id": WorkOrder.objects.all,
}
return render(request, 'dashboard/projects/content.html', context)
为处理工单表单创建一个单独的视图,在弹出工单表单的按钮上放置一个“href”,这将引导您进入处理工单提交的视图,例如:
你的网址.py会是这样的:`
我在想象这里的东西,替换需要替换的东西
相关问题 更多 >
编程相关推荐