【问题标题】:Create multiple instances of object from one form in django在 django 中从一个表单创建对象的多个实例
【发布时间】:2014-12-28 18:10:27
【问题描述】:

我有一个案例,我想要一个非常简单的“网上商店”。 销售由一件或多件商品组成。

class Sale(models.Model):
  timestamp = models.DateTimeField()
  value = models.FloatField()


class Item(models.Model):
  seller = models.ForeignKey(Seller)

  value = models.FloatField()
  timestamp = models.DateTimeField()

  sale = models.ForeignKey(Sale)

我正在努力创建一个表单来创建一个包含多个项目的销售。从概念上讲,我有一个简单的页面设置,它有一个基本的“购物车”,用户可以在其中添加多个项目。

但我不知道如何以良好格式将数据返回到 django 应用程序以解释、验证、创建实例等。

我开始考虑一个解决方案,我只需通过 Javascript 发回一个包含购物车的 JSON-sn-p 并让 django 应用程序解释这些信息......但我宁愿能够使用 django 表单.

有任何指导方针、想法、解决方案吗?

【问题讨论】:

标签: python django forms


【解决方案1】:

刚才遇到了你的问题。也许你已经找到了一个解决方案,因为它已经 5 年了。但如果没有,您可以对模型Item 使用formset factory,对模型Sale 使用通常的模型表单。这可以通过在表单中​​渲染 n 次 Item 模型来帮助您创建多个 Item 实例。

您可以查看此链接https://medium.com/all-about-django/adding-forms-dynamically-to-a-django-formset-375f1090c2b0。它提供了如何使用表单集工厂的好例子。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    相关资源
    最近更新 更多