Модель Джанго ORM Внешний ключ Отношения - PullRequest
0 голосов
/ 26 декабря 2011

У меня есть три класса. У меня есть аккаунт, и я должен получить courtName и CaseName, используя Django ORM Пожалуйста, помогите мне написать запрос.

Модельные классы

 class Court1(models.Model):
    CourtID = models.IntegerField(primary_key=True)
    CourtTypeID = models.IntegerField()
    CourtName = models.CharField(max_length=150)    
    class Meta:
       db_table = u'Court1'

 class CaseSummary1(models.Model):
   CaseID = models.AutoField(primary_key=True)
   CaseName = models.CharField(max_length=500,null=True, blank=True)
   DateFiled=models.DateField(null=True, blank=True)
   class Meta:
     db_table = u'CaseSummary1'

  class PacerDocument1(models.Model):
   DocumentID = models.AutoField(primary_key=True)
   PacerDocID = models.CharField(max_length=250)
   CourtID = models.ForeignKey(Court1)
   CaseID = models.ForeignKey(CaseSummary1)
   class Meta:
     db_table = u'PacerDocument1'



class DocumentAccess1(models.Model):
   AccountID = models.AutoField(primary_key=True)    
   DocumentID = models.ForeignKey(PacerDocument1)    
   class Meta:
     db_table = u'DocumentAccess1'

Запрос SQL

select CourtNAme,CaseName 
from documentaccess1 a,pacerdocument1 b,Court1 c,CaseSummary1 d  
where b.caseID_id  = d.CaseID 
  and b.CourtID_id = c.CourtID 
  and a.AccountID  = 1

1 Ответ

0 голосов
/ 05 января 2012

Django использует умный способ выполнения запроса: вам просто нужно вызвать метод, подобный Court = Court.objects.filter (case__id = ...). Если это ваш первый проект в Django, вы должны прочитать this

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...