Я работаю над формой Django с несколькими флажками, которая выглядит следующим образом:
Форма с несколькими флажками
Мне удалось сохранить данные в нескольких отдельных столбцах:
изображение строки данных в моей базе данных
Мой вопрос заключается в том, как сохранить несколько данных флажков в одном столбце вместо нескольких отдельных столбцы?
Вот флажки HTML
<label class="form-control acl-label">Project Management</label>
<div><input class="project" value="listing" name="project[]" type="checkbox" id="project-listing.{{user.id}}"> <label for="project-listing.{{user.id}}">Listing</label></div>
<div><input class="project" value="create" name="project[]" type="checkbox" id="project-create.{{user.id}}"> <label for="project-create.{{user.id}}">Create</label></div>
<div><input class="project" value="edit" name="project[]" type="checkbox" id="project-edit.{{user.id}}"> <label for="project-edit.{{user.id}}">Edit</label></div>
<div><input class="project" value="delete" name="project[]" type="checkbox" id="project-delete.{{user.id}}"> <label for="project-delete.{{user.id}}">Delete</label></div> <br/>
Вот код моего файла view.py
project_mgmt = request.POST.getlist('project[]')
engagement_mgmt = request.POST.getlist('engagement[]')
issue_mgmt = request.POST.getlist('issue[]')
user_mgmt = request.POST.getlist('user[]')
reporting_mgmt = request.POST.getlist('reporting[]')
setting = request.POST.getlist('setting[]')
audit_log = request.POST.getlist('audit[]')
AccessControl.objects.filter(uid_uname=user_id).update(project_mgmt=project_mgmt, engagement_mgmt=engagement_mgmt, issue_mgmt=issue_mgmt,
user_mgmt=user_mgmt, reporting_mgmt=reporting_mgmt, setting=setting, audit_log=audit_log)
models.py
class AccessControl(models.Model):
uid_index = models.ForeignKey(UserDetail, on_delete=models.CASCADE)
uid_uname = models.CharField(max_length=200, default=None)
project_mgmt = models.TextField(default=None, null=True)
engagement_mgmt = models.TextField(default=None, null=True)
issue_mgmt = models.TextField(default=None, null=True)
user_mgmt = models.TextField(default=None, null=True)
reporting_mgmt = models.TextField(default=None, null=True)
setting = models.TextField(default=None, null=True)
audit_log = models.TextField(default=None, null=True)