2016-03-25 4 views
0

Я хочу забрать все записи Runner, где main_contact.paid=True. Я не могу разобрать вызов Django.Запрос Django по значению поля ForeignKey

Вот модели:

class Main_contact(models.Model): 
    first_name = models.CharField(max_length=30) 
    last_name = models.CharField(max_length=30) 
    email = models.EmailField() 
    tel = models.CharField(max_length=20) 
    token = models.CharField(max_length=255) 
    paid = models.BooleanField(default=False) 

class Runner(models.Model): 
    first_name = models.CharField(max_length=30) 
    last_name = models.CharField(max_length=30) 
    age = models.IntegerField(default=0) 
    fee = models.IntegerField(default=0) 
    main_contact = models.ForeignKey(Main_contact) 

ответ

1

Попробуйте обход отношения с:

Runner.objects.filter(main_contact__paid=True) 
+0

Слишком кровавое легко - я печатал main_contact.paid! Спасибо – HenryM

+0

Не беспокойтесь! Синтаксис, который вы использовали, - это синтаксис шаблона, его легко смешивать сначала. Поэтому в шаблоне, если вы хотите отобразить значение Runner-> Main_contact-> paid, вы должны использовать '{{runner_object.main_contact.paid}}'. Таким образом, вы были на правильном пути, просто перепутали все –

Смежные вопросы