在这种情况下,发布同一模型的多种形式的最佳方法是什么?

时间:2019-12-28 19:00:35

标签: django django-models django-templates

我正在尝试在一次提交中发布同一模型的多种形式。

因此,我有一个“任务”模型,该模型具有名称,类别和属性字段。我还有一个名为“任务检查”的模型,其中包含一个任务和一个状态。任务检查的目的是保存一个任务的状态,例如“完成”或“已检查”,如下所示:

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)

我已经到达这里,我已经有了属于特定属性的任务列表:enter image description here

但是现在我不知道如何一次提交所有这些任务检查。应该使用表单集吗?有适当的方法来做到这一点吗?我应该在模板上更改一些内容吗?

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 %}

0 个答案:

没有答案