Тег шаблона для перехода от model1 к model2 с внешним ключом для model1 - PullRequest
0 голосов
/ 28 января 2019

Есть ли тег шаблона или способ, которым я могу перейти от моей основной модели к конкретной модели, имеющей внешний ключ к моей основной модели?

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) 

Я хочу получить поле address1 из BillingAddress, связанного с пользовательской картой.Я не думаю, что могу использовать {{usercart.address1}}, так как HomeAddress и BillingAddress имеют поле с именем address1 и связаны с пользовательской картой.

Спасибо!

1 Ответ

0 голосов
/ 28 января 2019

Не волнуйтесь, вы можете получить его как обычно.Потому что BillingAddress и HomeAddress FK до UserCart. Это среднее значение от UserCart, у вас есть 2 различных набора usercart.billingaddress_set и usercart.homeaddress_set.Это 2 списка BillingAddress и HomeAddress, связанных с UserCart.

Если вы хотите получить одно поле address1.Вы должны знать, что set вы хотите получить.Например: usercart.billingaddress_set.first().address1 даст вам первую запись, которая BillingAddress связана с UserCart.

Если вы все еще волнуетесь, вы можете изменить имя billingaddress_set или homeaddress_set на related_name на что угодноимя, которое вы хотите.Прочитайте related_name для получения дополнительной информации

...