2016-03-07 46 views
1

试图找出最优雅的方式来准确地从Django中的表单获取POST数据,其中一些输入字段是由用户动态创建的。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在前端实现的。但是,当每个联系人有任意数量的联系人和联系人号码时,我怎样才能从每个联系人中获取多个电话号码?有没有办法以某种有序的方式访问列表中的列表内容?

例如,下面是地址的可能联系人项:

联系人姓名:约翰·约翰逊

电话号码:828 282 2999

电话号码:399 399 3999

联系人姓名:Steve Murphy

电话号码:399 399 3333

联系人姓名:玛丽西

电话号码:399 399 3000

电话号码:299 392 2003

回答