하나의 쿼리를 번역해야합니다.Django ORM 쿼리, manytomany 자체 참조 왼쪽 조인 및
모델
class Publication_dependecy(models.Model):
def __str__(self):
return(str(self.id))
class Publication(models.Model):
def __str__(self):
return(self.name)
name = models.TextField()
class Publication_relationship(models.Model):
def __str__(self):
return(self.publication_from + '#' + self,publication + '#' + self.publication_dependecy_id)
from_publication = models.ForeignKey(Publication, related_name='from_publication', on_delete=models.CASCADE)
to_publication = models.ForeignKey(Publication, related_name='to_publication', on_delete=models.CASCADE)
publication_dependecy = models.ForeignKey(Publication_dependecy, on_delete=models.CASCADE)
SQL 쿼리 :
select Publication.id
from Publication
left join Publication_relationship on
Publication.id = Publication_relationship.from_publication
where
publication_dependecy.id is NULL or Publication_dependecy.id = 1
내가 Publication_relationship에없는 모든 출판물을 PIN이 필요
또는 그의 publication_dependecy이 publication_dependency 1 또는 NULL
내가이 ORM을 어떻게 작동하는지 understant하지를 작동하는지 말해 : "선택은 다음과 같습니다 %의"% (이름, ",".join (가능))) django.core을. exceptions.FieldError : 'publication_relationship'키워드를 필드로 확인할 수 없습니다. 선택 사항은 다음과 같습니다 from_publication, id, name, related_to, relationship, to_publication – guibos
@guibos 편집하십시오. 하지만 내가 전에했던 것처럼 일해야 해. –