尝试找出最优雅的方法来准确地从Django中的表单获取POST数据,其中一些输入字段由用户动态创建。
我还没有对所有内容进行编码,因此我将尝试详细描述:
表格如下所示。
class Address(models.Model):
title = models.CharField(max_length=200)
instructions = models.TextField()
date_time_added = models.DateTimeField(auto_now=True, null=True, blank=True)
class Contact(models.Model):
address = models.ManyToManyField(Stop, through='Address_Contact')
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
phone_num = models.CharField(max_length=20, default='')
email = models.CharField(max_length=50, default='')
company = models.CharField(max_length=30, default='')
date_time_added = models.DateTimeField(auto_now=True, null=True, blank=True)
class Address_Contact(models.Model):
address = models.ForeignKey(Address, on_delete=models.CASCADE)
contact = models.ForeignKey(Contact, on_delete=models.CASCADE)
date_time_added = models.DateTimeField(auto_now=True, null=True, blank=True)
在用于添加地址及其关联联系人的用户界面中,用户可以单击按钮在同一页面上创建更多联系人条目(通过jQuery完成)。因此,表单的初始表示包括联系人的相关字段,但通过单击该按钮1次或更多次,用户可以将多个联系人添加到同一地址。
我知道如何在request.POST上使用getlist()来获取此数据。
现在我的问题:
对于每个联系人,可以有多个电话号码。同样,这是通过jQuery在前端实现的。但是,如果每个联系人都有任意数量的联系人和联系号码,我如何从每个联系人中获取多个电话号码?有没有办法以某种有序的方式访问列表中列表的内容?
例如,以下是地址的可能联系人条目:
联系人姓名:John Johnson
电话号码:828 282 2999
电话号码:399 399 3999
联系人姓名:Steve Murphy
电话号码:399 399 3333
联系人姓名:Mary West
电话号码:399 399 3000
电话号码:299 392 2003