Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 从Django中具有多对多关系的两个表中检索数据?_Database_Django - Fatal编程技术网

Database 从Django中具有多对多关系的两个表中检索数据?

Database 从Django中具有多对多关系的两个表中检索数据?,database,django,Database,Django,我想从名为file的表中检索用户id为1的数据。用户和文件表以及多对多关系。我想显示与该用户相关的文件 class GalaxyUser(models.Model): id = models.IntegerField(primary_key=True) create_time = models.DateTimeField(null=True, blank=True) update_time = models.DateTimeField(null=True, blank=T

我想从名为file的表中检索用户id为1的数据。用户和文件表以及多对多关系。我想显示与该用户相关的文件

class GalaxyUser(models.Model):
    id = models.IntegerField(primary_key=True)
    create_time = models.DateTimeField(null=True, blank=True)
    update_time = models.DateTimeField(null=True, blank=True)
    email = models.CharField(max_length=765)
    password = models.CharField(max_length=120)
    external = models.IntegerField(null=True, blank=True)
    deleted = models.IntegerField(null=True, blank=True)
    purged = models.IntegerField(null=True, blank=True)
    username = models.CharField(max_length=765, blank=True)
    form_values_id = models.IntegerField(null=True, blank=True)
    disk_usage = models.DecimalField(null=True, max_digits=16, decimal_places=0, blank=True)
    class Meta:
        db_table = u'galaxy_user'

class File(models.Model):
    users = models.ManyToManyField(GalaxyUser)
    file_name = models.CharField(max_length=100)
    type = models.CharField(max_length=10)
    source = models.CharField(max_length=100)
    start_date = models.TextField()
    end_date = models.TextField()
    duration = models.TextField()
    size = models.TextField()
    flag = models.TextField()

如果用户是以用户身份登录的,我会得到用户的id,比如说它是1。现在,我只想检索与用户1相关的文件名。我该怎么做?

您可以使用
File.objects.filter(users\uu id\uu exact=1)
。请参阅。

您可以使用
File.objects.filter(users\uu id\uu exact=1)
。参考

查看有关许多查找的更多信息


请参阅有关许多查找的详细信息

如果您解释了代码,将有助于用户(和其他读者)。如果您解释了代码,将有助于用户(和其他读者)。如果您想要与用户相关的单个文件名,则使用了错误的数据结构:您想要一个OneOne关系,不是很多。如果您想要一个与用户相关的单一文件名,那么您使用了错误的数据结构:您想要的是一个一对一的关系,而不是很多。
File.objects.filter(users=GalaxyUser.objects.get(id=1))
user = GalaxyUser.objects.get(id=1)
files = user.file_set.all()