2
class One(models.Model): 
    image = models.ImageField(upload_to="images") 
    summary = models.TextField() 

    def __unicode__(self): 
     return self.summary 


class Two(models.Model): 
    image = models.ImageField(upload_to="images") 
    title = models.CharField(max_length=50) 

    def __unicode__(self): 
     return self.title 


class Three(models.Model): 



    one = models.ForeignKey(One, related_name='one_home') 
    two = models.ForeignKey(Two, related_name='two_home') 

    def __unicode__(self): 
     return self.tile 

이제 원하는 것은 장고 관리자의 3 인라인으로 1과 2를 표시하는 것입니다.장고 관리자 인라인 표시이지만 외래 키는 외래 키입니다.

어디에서나 검색했지만 반대의 관계에 대해서는 인라인 표시가 제공됩니다. 하나는 3의 외래 키를 가지고 있습니다. 내가 원하는 다른 방법은 아닙니다.

+0

그것은 당신이 바로 관계 배를 이동해야 할 세 가지의 인라인으로 1, 2를 보여주기 위해 완벽하게 가능 다른 모델들에게. 이러한 관계가 모델 3에 정의 된 이유가 있습니까? –

+0

네가 필요로하는 네 모델은 내 요구 사항에 따라야 만한다. 모델에 변경을하고 싶지 않다. – KetanJogani

+0

장고 관리자는 'Three'를 빌드 할 때 'One'과 ' 그것이 저장되기 전에'Two'. 장고 관리자는 "하나 하나 저장 한 다음 두 개를 저장 한 다음 세 개를 저장하십시오"라고 말할 방법이 없습니다. 하나의 SQL 명령으로 모든 것을 데이터베이스에 저장하려고합니다. 모델이 원하는 방식으로 작동하려면 모델을 변경해야합니다. – themanatuf

답변

0

비교적 간단 :

모델이 "깨진"입니다, 세 단 1 원과 1 두를 가질 수 있습니다.

두 개의 엔티티 모두에 대해 세 개의 목록을 가질 수 있습니다. 당신이 외부 키를 반대로하면

, 그들은 (모두 세 @ 가리키는)에있는 모델을 변경

class OneToThreeInline(admin.StackedInline): 
    fk_name = 'three' 
    model = One 

class TwoToThreeInline(admin.StackedInline): 
    fk_name = 'three' 
    model = Two