【发布时间】:2016-06-20 13:10:17
【问题描述】:
试图找出最优雅的方法来准确地从 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
联系人姓名:史蒂夫·墨菲
电话号码:399 399 3333
联系人姓名:玛丽·韦斯特
电话号码:399 399 3000
电话号码:299 392 2003
【问题讨论】:
标签: python django forms list post