我正在尝试在一次提交中发布同一模型的多种形式。
因此,我有一个“任务”模型,该模型具有名称,类别和属性字段。我还有一个名为“任务检查”的模型,其中包含一个任务和一个状态。任务检查的目的是保存一个任务的状态,例如“完成”或“已检查”,如下所示:
models.py
await
从以上模型中可以看出,TaskCheck与一个PropertyCheck相关,“ PropertyCheck”的目的是保存一组任务检查。
功能示例:
有人去一个属性检查一切是否正常,他添加了一个PropertyCheck,然后添加了与该属性相关的每个任务的TaskCheck列表。
我的模板如下:
class Task(models.Model):
name = models.CharField(max_length=100)
category = models.ForeignKey(Categories)
property = models.ManyToManyField(Property)
class TaskCheck(models.Model):
status = models.CharField(choices=STATUS_CHOICES, default='nd', max_length=50)
image = models.ImageField(upload_to='task_check', blank=True, null=True)
notes = models.TextField(max_length=500, blank=True)
task = models.ForeignKey(Task)
property_check = models.ForeignKey(Propertycheck)
class Propertycheck(models.Model):
property = models.ForeignKey(Property, models.DO_NOTHING)
name = models.CharField(max_length=150)
date = models.DateField(default=timezone.now)
next_visit = models.DateField()
staff = models.ForeignKey(User, max_length=25)
notes = models.TextField(max_length=500, blank=True)
但是现在我不知道如何一次提交所有这些任务检查。应该使用表单集吗?有适当的方法来做到这一点吗?我应该在模板上更改一些内容吗?
views.py
{% for obj in task %}
{% if obj.category == cat %}
<div class="form-group">
<div class="row">
<div class="col-md-4">
<label for="pname">{{ obj.name }}</label>
{{ task_form.status }}
</div>
<div class="col-md-4">
<label for="pname">Notes</label>
{{ task_form.notes }}
</div>
<div class="col-md-4">
<label for="pname">Image</label>
{{ task_form.image }}
</div>
</div>
</div>
{% endif %}
{% endfor %}