-1

I have following models.

class user(models.Model):
    location = models.ManyToManyField(Locations, blank=True, null=True)

class Locations(models.Model):
    location_id = models.AutoField(primary_key=True, verbose_name='location Id')
    location_name = models.CharField(max_length=512, unique=True, null=True, blank=True, verbose_name='location Name')

i wanted to get the all locations of a particular user. i wrote this query

location_list = user.location.through.objects.values('locations_id', 'locations,').filter(user_id=user_id)
    pprint.pprint(location_list)

and it is giving this result; [<user_location: user_location object>, <user_location: user_location object>, <user_location: user_location object>, <user_location: user_location object>, <user_location: user_location object>, <user_location: user_location object>, <user_location: user_location object>, <user_location: user_location object>, <user_location: user_location object>, <user_location: user_location object>, <user_location: user_location object>, <user_location: user_location object>]

Muhammad Taqi
  • 5,356
  • 7
  • 36
  • 61

1 Answers1

1

The below code should get you the locations for a specific user.

location_list = user.location.all()

Then in your template you have to iterate over the object so something to this affect

    {% for locations in locations_list %}
       {{ locations }}
    {% endfor %}