有人可以向我解释如何从多对多领域获取数据。我的型号:
class Subcat(models.Model):
subcat_name = models.CharField(max_length=128,default='Unknown')
active1 = models.BooleanField()
variants = models.ManyToManyField('Variants')
lang = models.ForeignKey('Lang',default=1)
def __unicode__(self):
return self.subcat_name
class Variants(models.Model):
lang = models.ForeignKey('Lang')
name = models.CharField(max_length=256)
descr = models.CharField(max_length=500,default='Unknown')
def __unicode__(self):
return self.name
class Lang(models.Model):
name = models.CharField(max_length=25)
code = models.CharField(max_length=5)
def __unicode__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
在类 Subcat 用户定义子类别,默认为英语,例如:
subcat_name = "Museums"
active1 = 1
variants = Muzeji,...
lang = en
Run Code Online (Sandbox Code Playgroud)
所以默认语言是英语,当我想要英语子猫的时候很容易得到
subcategory="Museums"
data= Subcat.objects.get(subcat_name=subcategory)
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:例如,当用户使用另一种语言时
subcategory= "Muzeji"
data=?????
Run Code Online (Sandbox Code Playgroud)
我如何根据该信息进行查询,该信息将返回我的 id,其中 subcat_name 是博物馆...
有人可以详细解释我如何从多对多字段中获取数据或向我指出一些好的教程...