小编iva*_*van的帖子

如何从 Django 多对多字段获取数据?

有人可以向我解释如何从多对多领域获取数据。我的型号:

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 是博物馆...

有人可以详细解释我如何从多对多字段中获取数据或向我指出一些好的教程...

django django-models

5
推荐指数
0
解决办法
5389
查看次数

标签 统计

django ×1

django-models ×1