我正在使用Django编写一本词典。
如果需要,我希望一个单词可以有多个定义。
这将是一对多的关系,但在Django中似乎没有“OneToManyField”。
以下是我的代码片段:
我想要执行
class Definition(models.Model):
definition = models.CharField(max_length=64)
class Word(models.Model):
word = models.CharField(max_length=64, unique=True)
definitions = models.ForeignKey(Definition, on_delete=models.CASCADE, related_name="word")
我想要执行
word.definitions
并返回该单词的所有定义。此外,删除一个单词应该删除该单词的所有定义。最后,a_definition.word
应该给出与该定义相关联的单词。
word.definition_set.all()
来获取给定单词对象的所有定义,但我没有看到将related_name
更改为其他内容的巨大优势。 - Matej