试图找出最优雅的方式来准确地从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