使用 Django 中的 DetailView 和 Formset 链接到其他外部模型

2023-12-29

我是 django-formset 的新手。我一直在尝试找到一种方法将表单集中的模型(Model_CustomerCart 和 Model_CustomerCartItem)与名为 Model_ItemPrice 的其他模型链接起来。

这样,通过 DetailView,html 页面可以显示商品列表及其相应的价格。

有谁知道如何实现这一点?

我的代码如下。

模型.py

class Model_ItemIndex(models.Model):
    item_name = models.CharField(max_length = 50, null = True, blank = False)

class Model_ItemPrice(models.Model):
    item_name = models.ForeignKey(Model_ItemIndex, null = True, blank = False)
    item_price = models.FloatField(null = True, blank = False)

class Model_CustomerCart(models.Model):
    customer_name = models.CharField(max_length = 50, null = True, blank = False)

class Model_CustomerCartItem(models.Model):
    customer_name = models.ForeignKey(Model_CustomerCart)
    item_name = models.ForeignKey(Model_ItemIndex)

forms.py

class Form_ItemIndex(forms.ModelForm):

    class Meta:
        model = Model_ItemIndex

        fields = [
            "item_name",
        ]

class Form_ItemName(forms.ModelForm):

    class Meta:
        model = Model_ItemName

        fields = [
            "item_name",
            "item_price",
        ]

class Form_CustomerCart(forms.ModelForm):

    class Meta:
        model = Model_CustomerCart

        fields = [
            "customer_name",
        ]

class Form_CustomerCartItem(forms.ModelForm):

    class Meta:
        model = Model_CustomerCartItem

        fields = [
            "customer_name",
            "item_name",
        ]

Formset_customercartitem = forms.inlineformset_factory(
    Model_CustomerCart,
    Model_CustomerCartItem,
    form = Form_CustomerCartItem,
    extra = 3
    )

views.py

class View_CustomerCart_DV(DetailView):
    queryset = Model_CustomerCart.objects.all()

html

{% for cartitem_ in object.model_customercartitem_set.all %}
    {{ cartitem_.item_name }} 
    {{ cartitem_.item_name.item_price }}  <------ How can I get the item_price from Model_ItemPrice?
{% endfor %}

Thanks


您已经导航至Model_ItemIndex via cartitem_.item_name,所以从那里您应该能够导航到Model_ItemPrice via model_itempriceset并检索第一条记录。

例如:

{% for cartitem_ in object.model_customercartitem_set.all %}
    {{ cartitem_.item_name }} 
    {{ cartitem_.item_name.model_itemprice_set.first.item_price}}
{% endfor %}

但这是假设一件物品只有一个价格。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Django 中的 DetailView 和 Formset 链接到其他外部模型 的相关文章

随机推荐

  • RestKit - 发布对象并更新其属性

    我有一个使用 RestKit 和 Sinatra 支持的服务器的小应用程序 当我将用户对象发布到服务器时 服务器成功保存用户并以新创建用户的 json 表示形式进行响应 以下是在客户端创建用户的代码 User currentUser Use
  • 神经机器翻译模型预测相差一

    问题总结 在下面的示例中 我的 NMT 模型具有很高的损失 因为它正确预测target input代替target output Targetin 1 3 3 3 3 6 6 6 9 7 7 7 4 4 4 4 4 9 9 10 10 10
  • SQL Server 2008无法使用新创建的用户登录

    我正在使用 Windows Vista 但无法使用新创建的用户登录 我打开 SQL Server Management Studio 我通过右键单击 安全 gt 登录 来创建一个新的登录 检查 SQL Server 身份验证登录名 测试员密
  • Android 中的 System.out.println?

    有什么方法可以在 android studio 中查看我的打印报表而不显示时间和目录 当该文本占用如此多的空间时 它会非常分散注意力并且难以调试 在 Android Studio 的 Android Monitor 视图中 在版本 1 3
  • 何时在视图状态中保存变量?

    我在网上搜索了答案 发现大多数变量都保存在 page prerender 事件的视图状态中 然后变量的值在页面加载事件中被设置回来 但是 当我在预渲染或加载事件中将变量保存在视图状态中时 视图状态在代码隐藏中动态更改后如何存储该变量的值 假
  • 为多个类型变量定义约束

    在我的代码库中 我有几种类型 它们具有不同数量的类型变量 例如 考虑 data MyType a b c data MyOtherType a b c d e 然后我使用这些类型定义函数 并且我想要求每个类型变量都是Show 为了避免太多重
  • 单击时更改按钮中的图像

    我有一个按钮 里面有一个图像 我想在单击时交换该图像 我已经使该部分正常工作 但现在我还希望它在再次单击时变回原始图像 我正在使用的代码
  • MATLAB 中的矩阵大小限制 [重复]

    这个问题在这里已经有答案了 可能的重复 MATLAB 最大预分配大小 https stackoverflow com questions 2332430 matlab maximum pre allocated size 在 MATLAB
  • 如何同步 Django 的“客户端”和 Selenium 的 webdriver 之间使用的 html/session

    我正在尝试使用 Lettuce Selenium 和 lettuce webdriver 测试登录的用户是否可以在我的 Django 站点上注销 在我的terrain py 中我有 before all def setup browser
  • 多个mysql表列的求和、相减和连接

    我有四个 mysql 表client transaction other loan and payment 我想要得到sum of load amount and additional从表transaction sum of amount
  • 为什么不能从 Template::Type 推导出 T? [复制]

    这个问题在这里已经有答案了 这段代码有什么问题 include
  • Odoo10 - 如何执行 JavaScript

    我一定做了一些完全错误的事情 odoo define my module popups function require use strict var ajax require web ajax var core require web c
  • 如何删除mysql中第n行之后的每条记录?

    在mysql中我可以查询select LIMIT 10 30其中 10 表示要跳过的记录数 有谁知道我如何在删除语句中执行相同的操作 删除前 10 条记录之后的每条记录 考虑到没有rowId在 MySQL 中 就像在 Oracle 中一样
  • 松弛斜杠命令仅显示对通道的响应

    slack 只提供两种类型的响应 ephemeral 只向用户显示命令和响应 in channel 向频道中的所有用户显示命令和响应 短暂的例子 in channel 示例 问题 我怎样才能使斜杠命令显示响应only在频道中而不显示命令和响
  • 可以使用多个/嵌套 MySQLi 语句吗?

    是否有可能有一个MySQLi prepared statement内fetch 调用先前的语句 如果没有 最好的解决办法是什么 示例代码 if stmt link gt prepare SELECT item FROM data WHERE
  • 存储过程中非法混合排序规则

    我在 MySQL 中的存储过程失败了Mysql Error Illegal mix of collations utf8 general ci IMPLICIT and utf8 unicode ci IMPLICIT for operat
  • 在 WPF 中设置 Tab 键顺序

    如何在 WPF 中设置选项卡排序 我有一个 ItemsControl 其中一些项目已展开 有些项目已折叠 并且想在使用选项卡时跳过折叠的项目 有任何想法吗 如果您想显式设置表单中元素的制表符顺序 以下附加属性应该会有所帮助
  • 对估算数据集列表的时滞分析

    我的问题和数据与以下帖子类似 使用顺序时间滞后输出线性回归系数循环数据 https stackoverflow com questions 46266078 loop through data with sequential time la
  • ConcurrentQueue> 的用法

    我基本上是在寻找一个从线程中的相机获取的图像集合的容器 由于ConcurrentQueue是线程安全的 所以我想使用它 但是在调试我的代码时 我发现本文 http blogs msdn com b pfxteam archive 2012
  • 使用 Django 中的 DetailView 和 Formset 链接到其他外部模型

    我是 django formset 的新手 我一直在尝试找到一种方法将表单集中的模型 Model CustomerCart 和 Model CustomerCartItem 与名为 Model ItemPrice 的其他模型链接起来 这样