获取所有ManyToManyFields和ForeignKeys

时间:2017-08-19 15:14:30

标签: python django django-models django-views

我是Django的新手,下面是我的类,因此我的脚本具有自己的属性和所有脚本的globalattributes。 我现在的问题是如何让我的脚本获得所有属性。

所以如何从GlobalAttribute获取此脚本的所有ManyToManyFields

此脚本的属性中的所有ForeignKey

models.py

from django.db import models

class GlobalAttribute(models.Model):
    GlobalAttributename = models.CharField(max_length=256)
    GlobalAttributevalue = models.CharField(max_length=2048)
    def __str__(self):
        return self.GlobalAttributename


class Script(models.Model):
    Scriptname = models.CharField(max_length=256)
    Description = models.CharField(max_length=512)
    Owner = models.CharField(max_length=128)
    GlobalAttribute = models.ManyToManyField(GlobalAttribute)
    def __str__(self):
        return self.Scriptname

class Attribute(models.Model):
    Script = models.ForeignKey(Script, on_delete=models.CASCADE)
    Attributename = models.CharField(max_length=256)
    Attributevalue = models.CharField(max_length=2048)
    def __str__(self):
        return self.Attributename

我知道我的问题很愚蠢。

1 个答案:

答案 0 :(得分:0)

script = Script.objects.get(id=1)
script_global_attr = script.GlobalAttribute.all()
script_attr = script.attribute_set.all()

如果您有时间阅读文档,可以了解这一点。

Django有很棒的文档。

https://docs.djangoproject.com/en/dev/topics/db/examples/many_to_many/