是否存在模板标签或从主模型转到具有主模型外键的特定模型的方法?
models.py
class BillingAddress(models.Model):
user = models.ForeignKey(UserCart, on_delete=models.CASCADE)
address1 = models.CharField(max_length=120, null=True)
class HomeAddress(models.Model):
user = models.ForeignKey(UserCart, on_delete=models.CASCADE)
address1 = models.CharField(max_length=120, null=True)
class UserCart(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, default=None)
我想从BillingAddress获取与用户购物车相关的'address1'字段。我认为我不能使用{{usercart.address1}},因为HomeAddress和BillingAddress都有一个名为address1的字段,并且与usercart相关。
谢谢!
答案 0 :(得分:2)
别担心,您可以正常获得它。因为BillingAddress
和HomeAddress
FK到UserCart
。这意味着从UserCart
开始,您有2套不同的商品分别是usercart.billingaddress_set
和usercart.homeaddress_set
。这是与BillingAddress
相关的HomeAddress
和UserCart
的2个列表。
如果要获得一个address1
字段。您必须知道要获取什么set
。像示例一样:usercart.billingaddress_set.first().address1
将为您提供与BillingAddress
相关的UserCart
的第一条记录。
如果仍然担心,可以将billingaddress_set
的名称homeaddress_set
或related_name
更改为所需的任何名称。阅读related_name了解更多信息