我正在寻找一种方法来将另一个表中的行存储到一个表中。我有一个名为Languages
的模型和一个名为Freelancers
的模型。我想要的是存储自由职业者使用的语言
我认为如果有关系Many to One
,就只有language = models.ForeignKey(Languages)
。问题是,一个自由职业者可能懂多种语言
以下是这些模型:
class Languages(models.Model):
language = models.CharField(max_length=100)
language_shortcut = models.CharField(max_length=3)
price_per_word = models.FloatField()
class Freelancers(models.Model):
nickname = models.CharField(max_length=30)
# languages = models.ForeignKey(Languages) # This is incorrect
# languages = list(models.ForeignKey....) # I'm looking for something like this...
因为我是刚到Django的,我很感激你的建议
这正是多对多关系的用例,在Django中,多对多关系由ManyToManyField表示:
现在对于每个自由职业者你都可以做
freelancer.languages.all()
,对于每种语言你都可以做language.freelancers_set.all()
请注意,在Django中,通常对模型使用单数名称:自由职业者和语言,因为每个实例都引用一个实例
相关问题 更多 >
编程相关推荐