Django:使用通用外键链接两个模型

tenase

我是django的新手,目前正在制作一个管理面板,可以在其中查看用户订单。

我根据以下OrderItem模型处理订单

class OrderItem(models.Model):
    customer = models.ForeignKey(
        User, on_delete=models.SET_NULL, blank=True, null=True)
    product = models.ForeignKey(
        Product, on_delete=models.SET_NULL, blank=True, null=True)
    quantity = models.IntegerField(default=0, null=True, blank=True)
    date_added = models.DateTimeField(auto_now_add=True)

和以下ShippingAdress模型中的运输信息

class ShippingAddress(models.Model):
    customer = models.ForeignKey(
        User, on_delete=models.SET_NULL, blank=True, null=True)
    address = models.CharField(max_length=200, null=True)
    city = models.CharField(max_length=200, null=True)
    state = models.CharField(max_length=200, null=True)
    zipcode = models.CharField(max_length=200, null=True)

Views.py

orders=OrderItem.objects.select_related('customer')
 context={
        'orders':orders,        
    }

 return render(request, 'index.html', context)

在我的html中,我要打印每个客户的ShippingAdress数据。我在想类似下面的内容,但是我卡住了,它不起作用。

{% for order in orders %}

  <td>{{order.customer.address}}</td>
  <td>{{order.customer.city}}</td>

{% endfor %}

实现此目的的正确方法是什么?

雷扎·海达里(Reza Heydari)

添加related_name到您的ShippingAddress

class ShippingAddress(models.Model):
customer = models.ForeignKey(
    User, on_delete=models.SET_NULL, blank=True, null=True, related_name="addresses")

并像这样在您的模板中使用

<td>{{order.customer.addresses.first.address}}</td>

first您一起获得第一个地址,并与all所有这些都一起。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django使用两个外键保存两个模型

来自分类Dev

如何在Django模板中制作包含两个与外键链接的模型的过滤摘要?

来自分类Dev

Django获取的对象是两个模型的外键

来自分类Dev

Django:模型中用户的两个外键,得到不是加载页面的用户的外键

来自分类Dev

在Django数据模型中引用两个外键

来自分类Dev

Django,将两个外键添加到同一模型

来自分类Dev

Django-具有两个以上外键的模型

来自分类Dev

具有Django模型,该模型可以属于其他两个模型之一(外键关系)

来自分类Dev

在后保存信号上使用两个外键插入模型

来自分类Dev

如何在SQL中的某些条件下使用外键链接两个表?

来自分类Dev

django表单:具有外键的一个<form>中的两个表单模型

来自分类Dev

用两个(复合)外键关系链接两个表

来自分类Dev

链接两个模型

来自分类Dev

Django:注释最新外键的两个值

来自分类Dev

具有两个相同外键的Django Inlineformset

来自分类Dev

同一类Django的两个外键

来自分类Dev

ElasticSearch使用外键映射两个SQL表

来自分类Dev

无法使用两个表进行外键

来自分类Dev

使用两个外键和猫鼬的Findby()

来自分类Dev

无法使用两个表进行外键

来自分类Dev

使用两个外键的导航属性

来自分类Dev

如何使用两个表的外键记录费用?

来自分类Dev

MySQL对两个不同的表列使用相同的外键

来自分类Dev

查看通过外键链接时两个不同表中的键是否匹配

来自分类常见问题

如何使用select语句显示两个引用相同外键的不同外键?

来自分类Dev

定义两个外键

来自分类Dev

两个外键的复合主键

来自分类Dev

EF生成的两个外键

来自分类Dev

加入两个相同的外键

Related 相关文章

热门标签

归档