在Django表单中动态添加模型的实例

时间:2017-11-21 22:47:47

标签: django forms model

我有以下型号:

from django.db import models
from django.contrib.auth import get_user_model

User = get_user_model()


class CalEvents(models.Model):

    user = models.ForeignKey(User)
    activity = models.CharField(max_length=256, unique=False, blank=True)
    activity_type = models.CharField(max_length=30, unique=False, blank=True)
    activity_code = models.CharField(max_length=30, unique=False, blank=True)

    def __str__(self):
        return "Activity, type and code for the calendar events of @{}".format(self.user.username)

我想知道的是如何使用表单动态添加该模型的实例。我想象的是第一次使用表格(包括字段"活动"," activity_type"" activity_code")然后,如果用户点击"加号" (或其他),(s)他可以将第二个,第三个......第N个实例添加到数据库中。

1 个答案:

答案 0 :(得分:1)

您可以使用Django的内联表单集来实现此功能。

https://docs.djangoproject.com/en/1.11/topics/forms/modelforms/#inline-formsets

它允许您声明一个可以动态使用的表单来添加模型的多个实例。