【问题标题】:Django - Getting POST data from list within a list in a formDjango - 从表单列表中的列表中获取 POST 数据
【发布时间】: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


    【解决方案1】:

    如果需要维护多个值。

    你应该尝试外键关系。

    看看这个。

    Maintain many-to-one relationship

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-08
      • 2021-12-21
      相关资源
      最近更新 更多