1

Django noob はこちら。私は辞書/辞書を作成していて、単語の同義語を相互にリンクしたいと考えています。

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を使用しています。これも言葉をつなげる正しい方法ですか?

前もって感謝します!

4

2 に答える 2

0

Assuming a word could have several synonyms and every synonym could also be synonymous to other words, you can use Django's ManyToManyField, referencing self.

Here's such an example:

class Word(models.Model):
    word = models.CharField(...)
    synonyms = models.ManyToManyField("self")
于 2013-02-10T23:08:14.833 に答える
0

word_fromとの目的がわかりませんword_to。ただし、単語と同義語の最も単純なモデルは、次のように 1 つのテーブルで実現できます。

class Word(models.Model):
    word = models.Charfield()
    synonym = models.ForeignKey(
        'self', null=True, blank=True,
        related_name='synonyms')
于 2013-02-10T22:22:23.940 に答える