Reputation: 3378
I want to retrieve a data which has user id 1 from the table called file. The user and file table and many to many relationship. I want to show the file related to that user.
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()
If the user is logged in as user, I get the user_id let's say it's 1. Now, I want to retrieve the file name related to user 1 only. How can I do that?
Upvotes: 0
Views: 1529
Reputation: 39659
user = GalaxyUser.objects.get(id=1)
files = user.file_set.all()
See more about ManyToMany lookups here
Upvotes: 1
Reputation: 118458
File.objects.filter(users=GalaxyUser.objects.get(id=1))
Upvotes: 1