試圖找出最優雅的方式來準確地從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