2013-02-10 2 views
1

여기 장고 멍청한. 사전/어휘집을 만들고 단어 동의어를 서로 연결하려고합니다.내 모델에 단어 동의어를 어떻게 설정합니까?

models.py

class Word(models.Model): 
    word = models.Charfield() 

class Synonym(models.Model): 
    word_from = models.ForeignKey(Word, blank=True, null=True, related_name="word_from") 
    word_to = models.ForeignKey(Word, blank=True, null=True, related_name="word_to") 

는 어떻게 관련 동의어를받을 수 있나요? 나는 generic.DetailView를 사용하고있다. 이것은 단어들 사이의 연결을 만드는 올바른 방법일까요?

미리 감사드립니다.

답변

0

word_fromword_to의 목적이 무엇인지 이해가되지 않습니다. 단어를 가정하면 여러 개의 동의어를 가질 수

class Word(models.Model): 
    word = models.Charfield() 
    synonym = models.ForeignKey(
     'self', null=True, blank=True, 
     related_name='synonyms') 
+0

네,하지만이 바로 하나의 동의어를 할 수 있습니다? –

+0

Word_from 및 word_to는 docs에서 가져 왔습니다. https://docs.djangoproject.com/en/1.2/ref/contrib/admin/#working-with-a-model-with-two-or-more-foreign-keys -to-the-same-parent-model –

0

모든 동의어 또한 self을 참조, 장고의 ManyToManyField을 사용할 수 있습니다, 즉 동의어가 될 수 :하지만 같은 단어와 동의어에 대한 간단한 모델은 하나 개의 테이블을 통해 달성 될 수있다.

다음은 그러한 예입니다 :

class Word(models.Model): 
    word = models.CharField(...) 
    synonyms = models.ManyToManyField("self") 
+0

감사합니다. 자기 참조에 대해 몰랐습니다. 하지만 지금은 다른 동의어를 추가 할 수 없습니다. 단 하나입니다. 어떤 아이디어? –

관련 문제