我正在尝试构建一个字典应用程序并且模型很难。
现在我写了这个
class Term(models.Model):
term_text = models.CharField("phrase term text", max_length=100)
class Definition(models.Model):
term = models.ForeignKey(Term)
definition_text = models.TextField()
class Country(models.Model):
#is this correct method?
#Should i add ForeginKey for both Term and Definition here?
问题在于国家。术语和定义都应该有一个国家/地区字段,因为许多国家/地区可以使用术语,定义可能仅限于某些国家/地区,其他国家/地区可能有其他定义。
现在如何做这个国家模式?
我尝试使用django-countries作为术语和定义的模型字段,但它限制我每个对象仅使用1个国家/地区。
答案 0 :(得分:1)
你想要的是术语和定义上的ManyToMany关系。这样,您就可以拨打my_term.countries
和my_definition.countries
。
class Term(models.Model):
term_text = models.CharField("phrase term text", max_length=100)
country = models.ManyToManyField(Country)
class Definition(models.Model):
term = models.ForeignKey(Term)
definition_text = models.TextField()
country = models.ManyToManyField(Country)
class Country(models.Model):
# define Country model
class Meta:
verbose_name_plural = "countries"